2017-04-04 11 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

Goがジョインに読ん結合します。 – CBroe

+0

はこれを試みたが、LEFT OUTERがtblMarkers.ID = tblImages.ID LEFT OUTER ON tblImagesを登録しようtblMarkers.ID = tblReviewsID – lifeson

答えて

-1

あなたはこのために結合を使用する必要があり、サンプルクエリを

SELECT *の下に示されていますFROM primaryTable ptable INNER JOIN secondTable stableどこにptable.id = stable.id

これをコピーするだけですあなたのSQLエディタと、それはあなたが使用することにhere

+0

ON tblReviewsを登録しよう さらに長いSELECT * FROM tblMarkers取るように見えるほぼ近いではない配列を返しますのみ登録しようサンプルは –

+0

で提供されています – vcode

関連する問題