2009-07-13 2 views
1

PHP로 MySQL 5.1을 사용하고 있는데 기본 키를 사용하여 특정 행을 선택하는 쿼리를 실행할 수 있는지 궁금해했습니다. 존재하지 않는 경우 다른 행을 반환하는 것이 좋습니다.SQL 폴백 행?

예 : ID = "A"다른 ID = "B"

답변

1
select * 
    from table1 
    where id="a" 
union all 
select * 
    from table1 
    where id="b" 
    and no exists (
    select * 
     from table1 
     where id="a"); 
+0

이 실제로 3 개의 SELECT를 수행 표에서 * 선택. 2 개의 SELECTS 사이에 UNION을 수행하고 마지막 세트에서 LIMIT를 수행하는 것이 더 빠를 것입니다. –

+0

@Artem : 아니요, UNION의 순서가 보장되지 않으므로 LIMIT이 "b"가 될 수 있습니다. –

+0

3 개 미만의 셀렉트는 멋진 보너스가되지만 여전히 완벽하게 작동합니다! 감사합니다.) –