SQL Sélectionnez random parmi plusieurs tables et commandz selon des critères spécifiques sur une table

Je dois sélectionner un logging random parmi 3 tables et m'assurer de order par 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() 

Donc, cette requête fonctionne, mais je dois m'assurer que l'logging b.filename est commandé par b.photoOrder et donc le b.photoOrder doit toujours être 1. La table b (list des photos) a plusieurs files photo par propriété et je dois select uniquement la photo qui est la première dans l'ordre des photos.

Merci

Vous pouvez sous-interroger votre table listingPhotos et limiter à 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()