Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有IFNULL-MySQL的情况下获得相同的结果_Mysql_Sql - Fatal编程技术网

如何在没有IFNULL-MySQL的情况下获得相同的结果

如何在没有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

我做了一个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`
    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
;