1
내 조건에 따라 0/1 또는 TRUE/FALSE가되는 매우 복잡한 SQL 쿼리를 만들고 싶습니다.카운트 조건이 0보다 큰 경우 case 문 만들기
I을 :
아이디어는 내가 고객 테이블이 다음 내가 다른 테이블에서 검사의 몇 가지를 만들고 싶어하고, 하나에 해당하는 다음 있다면, 우리가 FALSE, TRUE를 반환하고, 그렇지 않은 경우이다 CASE로 이것을 할 생각이었습니다. 이 반환
select
case
((select count(*) from boughtleads bl where bl.customerid = cu.id)>0)
then 'TRUE'
else 'FALSE'
end
from customers cu
left join leadagents la on la.customerid = cu.id
where cu.vatnumber = '30218124'
:
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '>'.
내 문제는 그 다음입니다 아래의 예를 참조하십시오. 우선, 위의 쿼리가 어떤 이유로 실패하고, 내 다른 문제는 OR을 사용할 수 없다는 것입니다. 이 공격하는 방법에 대한
select
case
(
((select count(*) from boughtleads bl where bl.customerid = cu.id)>0)
OR
((select count(*) from leadnotifications ln where ln.leadagentid = la.id)>))
then 'TRUE'
else 'FALSE'
end
from customers cu
left join leadagents la on la.customerid = cu.id
where cu.vatnumber = '30218124'
어떤 아이디어 :
내 이상적인 의사는 같은 것입니까?
젠장, 물론. 고마워요! "OR"진술에 대한 힌트가 있습니까? :) –
@LarsHoldgaard. . . 그냥'또는 exists()'를 사용하십시오. –