다소 복잡한 SELECT에 대한 SQL 쿼리가 필요합니다. 다음 표 가정 :3 개의 옵션과 컬럼 값을 기반으로 다른 테이블에서 선택하는 SQL 쿼리
Table 1: Table 2: name | email | callingcardid id | name | email -------|------------|-------------- ---|--------|---------------- first | [email protected] | null 1 | second | [email protected] second | | 1 third | | null
출력해야한다 : 구문은 분명히 잘못
name | email -------|----------- first | [email protected] second | [email protected] third | -
쿼리가해야 뭔가
SELECT table1.name, COALESCE(NULLIF(table1.email, ''),
CASE WHEN table1.callingcardid != NULL
THEN (SELECT table2.email WHERE id = table1.callingcardid) ELSE '-' END) "email"
처럼, 나는 그것을 얻을 수 없기 때문에 작업. 다른 테이블의 조인과 다른 두 개의 열이 있지만 그렇지 않으면 작동합니다.
CASE
절이 문제의 제조사입니다.
데이터베이스는 Microsoft SQL Server 2008 (또는 2012)입니다.
는 어디가 가입입니까?. 전체 SQL 쿼리를 제공 할 수 있습니까? –
FROM 절이 없습니까? – jarlh