2013-08-28 3 views
0

이러한 SQL 조건을 생성하고 싶습니다. 나는 테이블 차를 가지고있다. 그것은 그러한 들판을 가지고있다. id_status, id_category 그리고 storage_address. 내가 id_status (2,4) 인 자동차를 선택해야하고 id_category = 4 필드가 storage_address이 아니거나 비어 있지 않은지 확인해야합니다. 내가 어떻게 만들 수 있니? 내가 성명을 if SQL을 사용해야합니까? 이 시도if 문 mysql을 가진 sql 생성 조건

select * from car where id_status in (2,4) and if(id_category = 
4,storage_address is NOT NULL,'1=1') 

답변

0

:

SELECT * 
FROM car 
WHERE id_status in (2,4) 
AND IF(
    id_category = 4, 
    storage_address IS NOT NULL, 
    1 
) 

간단히 말해서, 그냥 일반 1가 truthy 값으로 할 것, 문자열 '1=1' 필요하지 않습니다 내가 좋아하는 뭔가를해야합니다.

SELECT * 
FROM car 
WHERE id_status in (2, 4) 
AND (
    id_category != 4 
    OR storage_address IS NOT NULL 
) 
+0

아니면 그냥 할 수있는 대단히 감사합니다. 내가 필요로하는 작품 – programmer

+0

당신은 환영합니다 :) 내 대답이 당신을 도왔다면, 자유롭게 upvote/accept. –

+0

나는 그것을하고 싶지만 나는 투표 할 수 없다. – programmer