SQL是否基于参数选择一整列?
我有这张桌子,需要帮助: 朋友们: 我的电子邮件VARCHAR和 朋友的电子邮件 以下是一些示例值:SQL是否基于参数选择一整列?,sql,sql-server-2008,Sql,Sql Server 2008,我有这张桌子,需要帮助: 朋友们: 我的电子邮件VARCHAR和 朋友的电子邮件 以下是一些示例值: alester@pam.com carl@pam.com alester@pam.com greg@pam.com alester@pam.com jude@pam.com 我需要做的是选择与我使用的插件参数不匹配的我的电子邮件或朋友电子邮件?在SQLServer2008中使用 例如: select Friend_E_Mail From Friends WHERE Friend_E_Mail
alester@pam.com carl@pam.com
alester@pam.com greg@pam.com
alester@pam.com jude@pam.com
我需要做的是选择与我使用的插件参数不匹配的我的电子邮件或朋友电子邮件?在SQLServer2008中使用
例如:
select Friend_E_Mail
From Friends
WHERE Friend_E_Mail NOT IN (?)
我想做的是显示每个人的朋友列表。例如,阿莱斯特有三个朋友,但其他人只有一个朋友,那就是阿莱斯特
此外,我无法创建另一个表
任何帮助都将不胜感激 下面的查询返回整行,而不仅仅是一个字段。如果基本逻辑与您需要的匹配,可以对其进行修改,以生成具有CASE-WHEN结构的单个列
select *
From Friends
WHERE My_E_Mail = ? OR Friend_E_Mail = ?
也许你需要一个工会:
declare @email varchar(50)
set @email = ?
SELECT
Friend_E_Mail as email
FROM
Friends
WHERE
My_E_Mail = @email
and Friend_E_Mail <> @email
UNION
SELECT
My_E_Mail as email
FROM
Friends
WHERE
Friend_E_Mail = @email
and My_E_Mail <> @email
这段代码将返回三行alester@pam.com但其他三行中的每一行只有一行
请注意,UNION将只返回不同的行。如果需要保留副本,请使用UNION ALL。此外,如果您提前知道结果是不同的,请使用UNIONALL,以节省distinct带来的性能成本 你能用另一个例子展示一下该表中的更多示例数据吗?通过你给出的例子不清楚你想做什么。我不确定我是否遗漏了什么,这不是你想要的吗?选择My_E_Mail FROM Friends WHERE Friend_E_Mail=?我要做的是为每个人显示一个朋友列表alester有3个朋友,但其他人中每个人只有一个朋友是alester。你的意思是想查找X的所有朋友,而不管X属于My_E_Mail还是Friends_E_Mail?天哪,谢谢!祝福你!我会投票的,但我是新的,再次谢谢你!这就是答案!!!W00t