我知道標題是不清楚,所以讓我解釋一下我的問題:如何根據另一個列表獲取AQL中的結果列表?
讓我們假設我有2個表:
表 「保留」
number
表「用戶「
ID | reservationNum
每個客戶都可以有多個預訂。
給客戶ID列表我需要得到屬於他們所有的所有預訂的列表
例如:
客戶1有所保留100,200和300
客戶2已預訂100,200和400
客戶3預訂100,200,300和600
的結果將是{} 100,200
怎麼能做到呢?我需要運行什麼查詢?
我知道標題是不清楚,所以讓我解釋一下我的問題:如何根據另一個列表獲取AQL中的結果列表?
讓我們假設我有2個表:
表 「保留」
number
表「用戶「
ID | reservationNum
每個客戶都可以有多個預訂。
給客戶ID列表我需要得到屬於他們所有的所有預訂的列表
例如:
客戶1有所保留100,200和300
客戶2已預訂100,200和400
客戶3預訂100,200,300和600
的結果將是{} 100,200
怎麼能做到呢?我需要運行什麼查詢?
我對你的模式等有點不確定,但基本上所有你需要做的就是統計預訂發生在由客戶ID篩選的集合中的次數,然後檢查計數是否等於數量的客戶。
SELECT reservationNum
FROM Customers
WHERE Id IN (/* the list of customer ids */)
GROUP BY reservationNum
HAVING COUNT(1) = /* count of the list of customer ids */
我還提供了一個小提琴,它可以是測試。 http://www.sqlfiddle.com/#!2/5466b9/25 – DrCopyPaste
thx爲答案!你可以解釋一下HAVING COUNT(1)= XXX(在我的例子中是2)的含義是什麼? – Dardar
看看我在評論中提供的最後一個鏈接,在你的情況下,它應該是3,因爲有3個客戶,即客戶表中的預留號本身的計數必須等於客戶ID的不同計數,但是不需要將數字硬編碼到查詢中 – DrCopyPaste
最糟糕的方式寫一個問題。請返修 – SriniV
什麼,需要在這裏完成?你有一個完整的桌子設計,還是你期望在這裏得到它?或者您需要建立查詢的幫助?或兩者? – DrCopyPaste
我寫的桌子設計原樣,我需要幫助的查詢 – Dardar