多少複雑な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