这是我从一个表中获取模型信息并从另一个表中获取单张图片的查询。我必须对此查询进行哪些更改才能获得 ORDER BY sort DESC 的图片?在图片表中,有一个名为“排序”的字段。每行字段的默认值为 0。但一个随机行的值为 1。我想获取该特定行。但是,我不想使用 WHERE sort=1,因为即使在没有行的排序值为 1 的情况下,仍应获取一行。
$sql="SELECT tc.id,tc.alias,tc.firstname,tci.imagename
FROM ".$pre."models tc
INNER JOIN ".$pre."model_images tci ON tc.id=tci.userid
WHERE activated=1 AND sex=$sex AND city=$city AND published=1
GROUP BY tc.id ORDER BY firstname ASC";
先感谢您!
使用解决:
SELECT tc.id,tc.alias,tc.firstname,
(SELECT imagename FROM ".$pre."model_images WHERE userid= tc.id
ORDER BY sort DESC LIMIT 1) AS imagename
FROM ".$pre."models tc
WHERE tc.activated=1 AND tc.sex=1 AND tc.city=2 AND tc.published=1
ORDER BY tc.firstname ASC