1

私はこのテーブルを持っていますが、助けが必要です

Friends:

My_E_Mail (VARCHAR) Friends_E_Mail(VARCHAR) 
alester@pam.com carl@pam.com
alester@pam.com greg@pam.com
alester@pam.com jude@pam.com

私がする必要があるのは、プラグインで使用するパラメーターと一致しないか、どちらMy_E_Mailかを選択することですか? Friend_E_Mail例えば:

select Friend_E_Mail
From Friends 
WHERE Friend_E_Mail NOT IN(?)

私の質問は、プラグインする場合、そのパラメーターに応じていずれかの列を選択する方法です。

私が carl@pam.com にプラグインするとしましょう。Carl は Greg と Jude ではなく単に alester と友達だからです。

自分で発言するたびに、アレスターの友達全員が表示されますが、カールをプラグインすると、友達ではないと思っていたジュードとグレッグも表示されます。また、葯テーブルを「作成できません」。

どんな助けでも大歓迎です。

4

2 に答える 2

2

多分このコードはあなたを助けるでしょう

select Friend_E_Mail
From Friends 
WHERE 'carl@pam.com' NOT IN(Friend_E_Mail, My_E_Mail)
于 2013-05-13T14:55:26.160 に答える
0

試す

DELCARE @email VARCHAR(50) = ?
WITH FRIENDS_CTE (My_E_Mail, Friend_E_Mail)
AS
(
  SELECT My_E_Mail, Friends_E_Mail
  FROM FRIENDS
  WHERE My_E_Mail = @email
  UNION 
  SELECT Friends_E_Mail, My_E_Mail
  FROM FRIENDS
  WHERE Friends_E_Mail = @email
)
SELECT Friend_E_Mail
FROM FRIENDS_CTE
WHERE My_E_Mail = @email
于 2013-05-13T19:27:32.357 に答える