0

MY CODE (MS Access 2000 と JET データベース エンジンを使用しています)

SELECT Members.First_Name + ' ' + Members.Last_Name AS Member,
       iif(NULL,Friends.My_E_Mail, Friends.Friend_E_Mail) AS E_Mail, 
       Members.First_Name AS Name 
FROM ((Members 
       LEFT OUTER JOIN Friends 
            ON Members.E_Mail = Friends.My_E_Mail 
            AND Friends.Friend_E_Mail = ?) 
       LEFT OUTER JOIN Friends Friends_1 
            ON Members.E_Mail = Friends.Friend_E_Mail 
            AND Friends.My_E_Mail = ?)

マイ テーブル メンバー (すべて VARCHAR) SOME DATA First_Name Alester Jude Carl Jones Last_Name ABCJ

FRIENDS(ALL VARCHAR)
My_E_Mail               Alester@lam.com Alester@lam.com  Alester@lam.com
Friend_E_Mail           jude@lam.com    carl@lam.com   jones@lam.com

*** 注: フレンド テーブルでは重複が許可されているため、ジュードは my_E_Mail に登録できますが、すでにフレンドであるため、アレスターを追加することはできません。

必要な出力の場合 (上記のクエリの「?」は次のとおりです: jones@lam.com)

+--------------+-----------+------------+
|Member        |E_Mail     |  Name      |
+---------------------------------------+
 Alester A   Alester@lam.com  Alester

望ましい出力 if(上記のクエリの "?" は: Alester@lam.com)

+--------------+-----------+------------+
|Member        |E_Mail     |  Name      |
+---------------------------------------+
 Jude B        jude@lam.com  Jude
 carl C        carl@lam.com  Carl
 Jones J       jones@lam.com Jones

PS「?」「?」で渡すクエリ文字列パラメータです。私はそれがうまくいくことを知っています。

私の質問は次のとおりです。「結合式はサポートされていません」というエラーが表示され続けます

これは ONE SINGLE QUERY である必要があるため、ストアド プロシージャを使用したり、複数のクエリを使用したりせずに使用できる回避策のクエリはありますか?

4

1 に答える 1