2012-04-19 22 views
0

這是我的要求:如何將SQLite查詢中的LIMIT語句應用於連接的特定端?

我有2個表,ordersorderContents。對於orders表中的每一行,都有一定數量的行包含訂單的說明。 id列作爲外鍵。

我想要的是獲取每個訂單的所有詳細信息(詳細信息來自orderContents,其中id列表來自orders表),但限制編號爲0。基於共同的柱的結果(外鍵,id

問題是,它限制了代替限制性orderorderContents行。

我該如何達到預期效果?

編輯:更新表和期望的結果集

訂單表:

enter image description here

OrderContents表:

enter image description here

關於限制的記錄數

期望的結果

enter image description here

+2

你可以發佈你正在使用的模式嗎? – Nik 2012-04-19 15:00:19

+0

我們需要了解到目前爲止所嘗試的內容,以及您正在運行的DBMS。 – Aaron 2012-04-19 15:01:54

+0

你可以更清楚地問你在問什麼。也許顯示一個你的查詢的輸入和預期輸出的樣本? – JohnFx 2012-04-19 15:03:04

回答

4

我假設你是想說,你想從兩個表中的結果,但只有第一個X訂單。如果是這樣,請試試這個:

SELECT OC.*, O.* FROM OrderContents OC 
INNER JOIN (SELECT * 
      FROM Orders 
      ORDER BY ID 
      LIMIT 2) O ON O.ID=OC.ID 
+1

由於用戶將其標記爲sqllite,不應該是'SELECT * from Orders LIMIT 2'? – 2012-04-19 15:17:07

+0

好點。固定。 – JohnFx 2012-04-19 15:17:53

+0

@JohnFx:Thnx太多了...這工作...和thnx邁克瑞恩:) – 2012-04-19 15:19:37