我的询问......
SELECT MIN(p.`land_price`) AS `min_price`,
MAX(p.`land_price`) AS `max_price`,
p.`estate`,
m.`file`
FROM `properties` AS `p`
LEFT JOIN `estates` AS `e`
ON p.`estate` = e.`title`
LEFT JOIN `media` AS `m`
ON m.`category` = e.`id`
WHERE p.`estate` IN ("EstateA", "EstateB")
AND p.`land_price` != 0
GROUP BY p.`estate
Run Code Online (Sandbox Code Playgroud)
我想要做的是从media表中获取一个项目(别名为m)where name = "Profile",除了只选择它是否存在,否则在结果集中只有其他列的空白列.目前,如果我添加该约束,它只会给我匹配的位置name.
目前,只是选择media匹配约束的第一个项目.
"WHERE"部分限制主表的结果properties.在这种情况下,您应该向第二个LEFT JOIN的"ON"部分添加另一个约束.
例:
SELECT MIN(p.`land_price`) AS `min_price`,
MAX(p.`land_price`) AS `max_price`,
p.`estate`,
m.`file`
FROM `properties` AS `p`
LEFT JOIN `estates` AS `e`
ON p.`estate` = e.`title`
LEFT JOIN `media` AS `m`
ON m.`category` = e.`id`
AND m.`name` = 'Profile'
WHERE p.`estate` IN ("EstateA", "EstateB")
AND p.`land_price` != 0
GROUP BY p.`estateRun Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |