2
주문 세부 정보를 반환하는 쿼리가 있습니다. 찾은 거래에 대한 briisk 테이블의 정보가 필요합니다. briisk 테이블에 아무 것도없는 경우에도 명령을 표시하려고합니다.
마지막 줄 (및 flostream.briisk.master = ""
)을 추가하면 내 쿼리는 2 대신 하나의 결과 만 반환합니다. 당신이 left outer join
를 사용하는 경우SQL/Bigquery JOIN이있는 레코드를 모두 가져올 수 없습니다.
SELECT *
FROM (SELECT orderno,ifnull(dealid,sales_rule) as DealIDCombo from flostream.orders left join mobileheads.surveys on mobileheads.surveys.order_number = flostream.orders.externalreference) as first
INNER JOIN flostream.orders on first.orderno = flostream.orders.orderno
LEFT JOIN flostream.briisk on first.dealidcombo = flostream.briisk.uniquereference
WHERE first.orderno in (359692,359683)
//AND flostream.briisk.master = ""
고든이 3 초 만에 나를 때렸습니다. 그가 맞다면, 왼쪽 Join Argument에 and 문을 추가하십시오. – hoggkm
Ooohhhh 알겠습니다! 이 오류가 나타납니다. 쿼리 실패 오류 : ON 절은 각 테이블의 한 필드 이름과 그 테이블 이름 앞에 접두사가 붙은 모든 필드 이름의 AND =이어야합니다. 어떤 아이디어? –
안녕 얘들 아, 내가 왼쪽 필터에 모든 필터를 추가했는데 별칭으로 참조했다. LEFT JOIN (flostream.briisk.uniquereference를 flostream.briisk에서 선택하십시오. flostream.briisk.master = "")로 BR first.dealidcombo = BR.uniquereference에 감사합니다! –