Мне нужен SQL-запрос для несколько сложного SELECT. Предполагая, что в следующих таблицах:SQL-запрос для выбора из 3-х опций и из другой таблицы, основанный на значении столбца
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).
Где ваш JOIN?. Можете ли вы предоставить полный SQL-запрос? –
No FROM clause? – jarlh