我需要幫助的查詢權結構搞清楚,以結構NOT IN/NOT EXISTS(?)三個用表
找到這些客戶,誰在完全相同的停止的名字 酒店爲John Doe。
我有表:
客戶(clientID的,CLIENTNAME)
ClientTour(clientID的,tourID)
旅遊(tourID,國家,酒店)
這一切應該寫下來作爲一個查詢。
我是很新的SQL,不能寫下正確的子查詢它,因爲它使用三個表......我有所瞭解如何編寫類似查詢的兩個表,但是當我試着寫這一個...好吧,我迷路了。 =/
據我瞭解,我必須要找到這些客戶, 誰在
停止的名字[點擊查看其中李四停止] - [酒店只有李四停止]
但誰從來沒有在這些
[酒店,其中李四從未停止]停止。
它在邏輯上是正確的嗎?如果是的話,我得到的是
SELECT c1.clientName
來自客戶端C1
WHERE c1.clientID NOT IN(在[酒店的客戶的ClientID而約翰 Doe的一部分從來沒有停止過])
和c1.clientID IN(在[[點擊查看了約翰 李四停止]客戶的clientId - [酒店只有李四停止])
,但無法弄清楚標楷體部分......我怎麼找到誰在賓館,李四做了停止/沒有停止客戶端,或只李四停止了酒店?
此外,有沒有寫這個查詢下任何更簡單的方法?
這實際上是新的人到SQL一個非常棘手的問題! –
*酒店*由* tourID *唯一確定,或者*酒店*可以列入* Tours *的多個記錄中? – trincot
@trincot,如果_hotel_由_tourID_唯一確定,則不指定。我想它可以多次列出。 – 0lesya