我有一個複雜的查詢,我只是不能創建。我正在考慮用JOIN做它,但不知道從哪裏開始。我會盡可能清楚地解釋我的問題。複雜的查詢與SQLite
我正在創建處理補償的軟件。每個補償可以有幾個鏈接(如在一個鏈中)。每個鏈接基本上都是一個客戶。所以,我就告訴你的表結構:
客戶鏈接現在,加入
CustomerID | Name
補償
CompensationID | CustomerID | Date
LinkID | CompensationID | CustomerID | Sequential
與每一個環節的連續場增加。讓我用一些數據填充表表明:
CustomerID | Name
-----------+-----
0 | Foo
1 | Bar
2 | Baz
CompensationID | CustomerID | Date
---------------+------------+------
0 | 0 | 2-2-2010
1 | 1 | 2-3-2010
LinkID | CompensationID | CustomerID | Sequential
-------+----------------+------------+-----------
0 0 0 0
1 0 2 1
2 0 1 2
所以不管什麼鏈路ID/CompensationID /客戶ID的順序總是從0到N的鏈接表(取決於補償多少鏈接了) 。
現在,這裏的問題是:我想列出所有補償的,其鏈接的滿足以下要求:
搜索鏈接中 客戶id = A 順序= 0(第一環節)和順序;最後一個(在這種情況下, 2) 名單補償
這是我走到這一步:
SELECT * FROM Compensation JOIN Link ON Compensation.ID = Link.CompensationID
WHERE Link.CustomerID=A AND Link.Sequential = 0 AND Link.Sequential=LAST
這或多或少是僞SQL,因爲我知道Link.Sequential不能是0,另一個價值在同一時間,但我不知道如何做到這一點。
任何幫助,將不勝感激。
謝謝。
P.S. 對不起,文字很長。
用`嘗試Link.Sequential = 0或Link.Sequential = LAST`(並且只評估時0是最後一個 - 如果鏈接表中有多於一行的話,則永遠不會)。 – 2010-12-07 23:09:33