我正在使用asp.net sql构建社交网络,但是在SQL上使用MINUS Operator时遇到了问题。我使用以下关键字选择所有朋友的用户数据
Select * from [UserData]
我想从该查询中减少以下查询
SELECT *
FROM [Friendship]
WHERE Friend2 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1
UNION
SELECT *
FROM [Friendship]
WHERE Friend1 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1
我试过了,但是当我运行它时,它仍然提供有关此查询的详细信息
Select * from [UserData]
这是我尝试过的代码
SELECT *
FROM [UserData]
MINUS
SELECT *
FROM [Friendship]
WHERE Friend2 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1
UNION
SELECT *
FROM [Friendship]
WHERE Friend1 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1
你能告诉我我如何使用减号运算符吗?
在Sql Server
您可以使用Except
等于的运算符Minus
EXCEPT从左输入查询返回不由右输入查询输出的不同行。
查询应该像
SELECT *
FROM [UserData]
EXCEPT
SELECT *
FROM (SELECT *
FROM [Friendship]
WHERE Friend2 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1
UNION
SELECT *
FROM [Friendship]
WHERE Friend1 = '" + Session["Email"].ToString() + "'
AND Friend_Status = 1) a
注意:请确保您等于。Freindship
和UserData
表中的列
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句