我有三个表SQL查询条件选择一个特定的表
Users (ID - Name)
Services (ID - Name)
UserServices (ID - USerID- ServiceID)
我想选择一个不属于用户
如服务名的特定记录: 如果我有三个用户和10个服务
首先用户属于3个服务,所以我想选择其他7个服务
我有三个表SQL查询条件选择一个特定的表
Users (ID - Name)
Services (ID - Name)
UserServices (ID - USerID- ServiceID)
我想选择一个不属于用户
如服务名的特定记录: 如果我有三个用户和10个服务
首先用户属于3个服务,所以我想选择其他7个服务
SELECT S.ID, S.Name
FROM Services AS S
LEFT JOIN UserServices AS US
ON US.ServiceID = S.ID
AND US.UserID = @UserID
WHERE US.ServiceID IS NULL
所以,选择有该用户标识不匹配UserServices服务。我还将您的US.ID更改为US.UserID,如果US.ID确实包含您的用户标识,请将其更改回来。
有很多的方式来获得你想要的结果,这我就有一个:
SELECT S.ID, S.Name
FROM UserServices AS US
INNER JOIN Services AS S ON US.ServiceID = S.ID
WHERE US.UserID <> @UserID
所以,如果我想选择基于UserID的服务?我的意思是第一个用户有3个服务,所以我想为这个用户选择其他服务,这需要定义用户和用户服务之间的关系 –
<>是一个问题。如果有10个用户,并且您为其中的1个运行这个用户,则您将获得其他9个用户的所有记录。 – JBrooks
“eg”是用户吗? – Kinetic
@KiNeTiC不,_eg_(例外)指拉丁语中的_例如_;它也常用于Enlish中。 – jpw
我不知道。英语不是我的主要语言。 – Kinetic