0

case 句を使用して join 句を変更するにはどうすればよいですか。たとえば、次のように column1 が null の場合、テーブルを別の列に結合させます。

SELECT * FROM MYTABLE 
LEFT JOIN OTHERTABLE ON 
CASE WHEN MYTABLE.A IS NULL THEN MYTABLE.B = OTHERTABLE.A
ELSE MYTABLE.A IS NOT NULL THEN MYTABLE.A = OTHERTABLE.A

(完全にそれを作り上げました、構文エラーでごめんなさい:))

4

4 に答える 4

4

これを試してください:

SELECT * 
FROM MyTable M
LEFT JOIN OtherTable O ON(CASE WHEN M.A IS NULL THEN M.B ELSE M.A END) = O.A
于 2013-06-26T08:01:15.010 に答える
1
SELECT * FROM MYTABLE 
LEFT JOIN OTHERTABLE ON COALESCE(MYTABLE.A, MYTABLE.B) = OTHERTABLE.A
于 2013-06-26T08:01:48.570 に答える
1

以下のコードを試してください:

SELECT * FROM MYTABLE 
LEFT JOIN OTHERTABLE ON OTHERTABLE.A = isnull(MYTABLE.A,MYTABLE.B) 
于 2013-06-26T08:13:26.567 に答える
0

null 値を確認するには、 isnull() または coalesce() を使用できます。

于 2013-06-26T08:02:13.007 に答える