我正在尝试在我的新Webmatrix网站上做一些事情,我不确定它是否可行。
我的数据库中有以下2个表。
属性PropertyID,PropertyName,Primary_Image
图像PropertyID,ImageURL,ImageID
我为每个属性设置了一个页面,其中显示了属于该属性的所有图像。问题是,我想订购这些图像,以便主图像显示在顶部?我怎么能做到这一点?
这是我当前的SQL查询:
var images = db.query("SELECT * FROM Images JOIN Property ON Images.ImageID=Property.Primary_Image WHERE PropertyID = @0"), PropertyID;
试试:
var images = db.query(@"SELECT t1.* FROM Images t1 LEFT JOIN Property t2 ON
t1.ImageID = t2.Primary_Image WHERE t1.PropertyID = @0 ORDER BY
t2.Primary_Image DESC", PropertyID);
使用此查询,您可以过滤Images
中的记录,这些记录具有与PropertyID
的匹配行连接的给定Property
。
由于只有主图像在Property
中具有匹配的行,因此该记录是唯一具有Primary_Image
值的记录:按降序排序将此记录放在第一位。