如何在没有IFNULL-MySQL的情况下获得相同的结果
我做了一个sqlfiddle示例: 结果:(正确) 没有如何在没有IFNULL-MySQL的情况下获得相同的结果,mysql,sql,Mysql,Sql,我做了一个sqlfiddle示例: 结果:(正确) 没有IFNULL(…,999) 结果: id title 5 CCC 4 DDD 3 BBB 2 BBB 但是我还需要带有空“title”=>id:8、7和1的记录 有没有一种方法可以不使用IFNULL就拥有所有记录 +++更新+++ @_已被_使用 谢谢你的帮助。 我得到结果:(它有两条ID为5的记录) 使用左连接 SELECT i.`id`, t.`title` FRO
IFNULL(…,999)
结果:
id title
5 CCC
4 DDD
3 BBB
2 BBB
但是我还需要带有空“title”=>id:8、7和1的记录
有没有一种方法可以不使用IFNULL就拥有所有记录
+++更新+++
@_已被_使用
谢谢你的帮助。
我得到结果:(它有两条ID为5的记录)
使用左连接
SELECT
i.`id`,
t.`title`
FROM
`images` AS i left join `topics` AS t on i.`vender_id` = 'model'
and t.`id`=i.article_id
使用左连接
SELECT
i.`id`,
t.`title`
FROM
`images` AS i left join `topics` AS t on i.`vender_id` = 'model'
and t.`id`=i.article_id
使用左连接:
SELECT
I.id
,T.title
FROM images AS i
LEFT JOIN articles_images AS ai ON I.id = ai.image_id
LEFT JOIN topics AS t on ai.article_id = t.id
WHERE i.vender_id = 'model'
ORDER BY
i.id DESC
LIMIT 10
此结果与您要求的结果略有不同:
+----+-------+
| id | title |
+----+-------+
| 8 | NULL |
| 7 | NULL |
| 5 | AAA |
| 5 | CCC |
| 4 | DDD |
| 3 | BBB |
| 2 | BBB |
| 1 | NULL |
+----+-------+
对于重新修改的问题(包括空):
见:
为了保证您使用的是最高级别的文章,如果我提出以下建议:
SELECT
I.id
,T.title
FROM ximages AS i
LEFT JOIN (
SELECT image_id, max(article_id) article_id
FROM xarticles_images
GROUP BY image_id
) AS ai ON I.id = ai.image_id
LEFT JOIN xtopics AS t on ai.article_id = t.id
WHERE i.vender_id = 'model'
ORDER BY
i.id DESC
;
使用左连接:
SELECT
I.id
,T.title
FROM images AS i
LEFT JOIN articles_images AS ai ON I.id = ai.image_id
LEFT JOIN topics AS t on ai.article_id = t.id
WHERE i.vender_id = 'model'
ORDER BY
i.id DESC
LIMIT 10
此结果与您要求的结果略有不同:
+----+-------+
| id | title |
+----+-------+
| 8 | NULL |
| 7 | NULL |
| 5 | AAA |
| 5 | CCC |
| 4 | DDD |
| 3 | BBB |
| 2 | BBB |
| 1 | NULL |
+----+-------+
对于重新修改的问题(包括空):
见:
为了保证您使用的是最高级别的文章,如果我提出以下建议:
SELECT
I.id
,T.title
FROM ximages AS i
LEFT JOIN (
SELECT image_id, max(article_id) article_id
FROM xarticles_images
GROUP BY image_id
) AS ai ON I.id = ai.image_id
LEFT JOIN xtopics AS t on ai.article_id = t.id
WHERE i.vender_id = 'model'
ORDER BY
i.id DESC
;
此sql有语法错误,可以获得upvote吗?检查
并打开是否在JSFIDLE中运行sql?还是不行!此sql有语法错误,可以获得upvote吗?检查并打开是否在JSFIDLE中运行sql?还是不行!非常感谢你的帮助,我编辑了我的问题,你能看一下吗?“修改过的问题”它工作得很好,但我还需要有“空”标题的记录。可能很难把它们结合在一起。对不起,我没有改变问题,对不起,如果让我困惑是的,你让我困惑。使用左连接
答案已更改添加了更多版本。。。为了确保你使用最高的文章id。我要啤酒:)让我知道哪个城市&也许有一天我会找到你,干杯。非常感谢你的帮助,我编辑了我的问题,你能看一下吗?“修改过的问题”效果很好,但我还需要有“空”标题的记录。可能很难把它们结合在一起。对不起,我没有改变问题,对不起,如果让我困惑是的,你让我困惑。使用左连接
答案已更改添加了更多版本。。。为了确保你使用最高的商品id。我要啤酒:)让我知道哪个城市&也许有一天我会找到你,干杯。
SELECT
I.id
,T.title
FROM ximages AS i
LEFT JOIN (
SELECT image_id, max(article_id) article_id
FROM xarticles_images
GROUP BY image_id
) AS ai ON I.id = ai.image_id
LEFT JOIN xtopics AS t on ai.article_id = t.id
WHERE i.vender_id = 'model'
ORDER BY
i.id DESC
;