1

3 つのテーブルからランダムなレコードを選択し、photoOrder で注文していることを確認する必要があります

Select TOP 1(a.id), a.mls_number, a.parcel_name, a.property_type, a.ownership_type,     b.filename, b.photoOrder, c.county_Name
From property as a
Inner JOIN
listingPhotos as b on a.id = b.ListingID 
LEFT JOIN
counties as C on a.county_name = c.id
WHERE a.isCommercial = 'True'
Order By NEWID()

したがって、このクエリは機能しますが、b.filename レコードが b.photoOrder によって順序付けられていることを確認する必要があるため、b.photoOrder は常に 1 である必要があります。b テーブル (写真のリスト) には、プロパティごとに複数の写真ファイルがあり、次のようにする必要があります。写真の順番が 1 番目の写真のみを選択します。

ありがとう

4

1 に答える 1

3

listingPhotos テーブルをサブクエリして、WHERE PhotoOrder = 1 に制限することができます。

Select TOP 1(a.id), a.mls_number, a.parcel_name, a.property_type, a.ownership_type,     b.filename, b.photoOrder, c.county_Name
From property as a
Inner JOIN
(SELECT ListingID , filename, PhotoOrder FROM listingPhotos WHERE PhotoORder = 1
       ) as b on a.id = b.ListingID 
LEFT JOIN
counties as C on a.county_name = c.id
WHERE a.isCommercial = 'True'
Order By NEWID()
于 2013-06-07T16:36:43.817 に答える