我有三個表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