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
}
試しに参加参照することができ
に動作します、あなたのテーブルを置き換えるには、 –
Goがジョインに読ん結合します。 – CBroe
はこれを試みたが、LEFT OUTERがtblMarkers.ID = tblImages.ID LEFT OUTER ON tblImagesを登録しようtblMarkers.ID = tblReviewsID – lifeson