2017-04-04 139 views
0

是否有一個查詢將根據ID從主表和所有行中返回相關表的所有行?相關的表可能有多個行,用於主表中的相同ID。 目前我從主表中獲取所有行,然後遍歷該行並使用函數從相關表中獲取行。這工作,但似乎並不特別有效。從表中選擇所有行和鏈接表中的所有相關行

SELECT * FROM primaryTable 
AND (SELECT * FROM tableImages) as Images 
AND (SELECT * FROM tblReviews) as Reviews 

這需要像JSON這樣的輸出...

{id: 1 
name:"name1", 
address:"address1", 
reviews:{reviewID:25,review:"reviewText", reviewID:38,"reviewText2"}, 
images:{imageID:1234, file"file1.jpg",imageID:3456, file:"file3.jpg"}, 
latitude:12.3456, 
longitude:34.5678 
}, 
{id: 2 
name:"name2", 
address:"address2", 
reviews:{reviewID:29,review:"reviewText", reviewID:57,"reviewText2"}, 
images:{imageID:12, file"file1.jpg",imageID:34, file:"file3.jpg"}, 
latitude:12.3456, 
longitude:34.5678 
} 
+2

嘗試使用加入 –

+1

去閱讀了關於連接。 – CBroe

+0

試過,但似乎 LEFT OUTER JOIN tblImages ON tblMarkers.ID = tblImages.ID LEFT OUTER JOIN tblReviews ON tblMarkers.ID = tblReviewsID – lifeson

回答

-1

你必須使用加入此,示例查詢顯示如下

SELECT * FROM primaryTable ptable INNER JOIN secondTable stable WHERE ptable.id = stable.id

只需將其複製到您的SQL編輯器,並與你的表格代替它會工作

你可以參考加入here

+0

到需要更長的時間SELECT * FROM tblMarkers單獨JOIN將返回一個數組,它是不是幾乎接近您提供的示例 –

+0

您能否解釋帶有示例的查詢 – vcode

相關問題