Mysql 在两个表的交叉处搜索空值-MariaDB
在交叉2个表中搜索null-MariaDB 我需要在特定的表中获取所需的数据 我希望你能帮我解决这个问题,因为我不知道怎么做Mysql 在两个表的交叉处搜索空值-MariaDB,mysql,sql,mariadb,Mysql,Sql,Mariadb,在交叉2个表中搜索null-MariaDB 我需要在特定的表中获取所需的数据 我希望你能帮我解决这个问题,因为我不知道怎么做 Ligic: Table libros ___________________________________ libro 1 libro 2 libro 3 libro 4 Table librerias ___________________________________ libreria 1 | libro 1 libreria 1 | libro 2 lib
Ligic:
Table libros
___________________________________
libro 1
libro 2
libro 3
libro 4
Table librerias
___________________________________
libreria 1 | libro 1
libreria 1 | libro 2
libreria 2 | libro 3
libreria 2 | libro 4
libreria 3 | libro 2
libreria 3 | libro 4
libreria 4 | libro 3
libreria 4 | libro 2
I want to this result
___________________________________
libreria 1 | libro 1 | libro 1
libreria 1 | libro 2 | libro 2
libreria 1 | libro 3 | NULL
libreria 1 | libro 4 | NULL
libreria 2 | libro 1 | NULL
libreria 2 | libro 2 | NULL
libreria 2 | libro 3 | libro 3
libreria 2 | libro 4 | libro 4
libreria 3 | libro 1 | NULL
libreria 3 | libro 2 | libro 2
libreria 3 | libro 3 | NULL
libreria 3 | libro 4 | libro 4
libreria 4 | libro 1 | NULL
libreria 4 | libro 2 | libro 2
libreria 4 | libro 3 | libro 3
libreria 4 | libro 4 | NULL
我已经做到了,因为它花了我一点钱,我只是想了想逻辑,结果就出来了 这就是解决方案:
SELECT x.libreria, x.libro, y.libro
FROM (
SELECT a.libreria, b.libro
FROM librerias a
LEFT JOIN libros b ON b.libreria=a.libreria
GROUP BY a.libreria
) x
LEFT JOIN librerias y ON y.libreria = x.libreria AND y.libro = x.libro;
大概是这样的:
SELECT a.liberia, b.libros, c.libros
FROM ( SELECT DISTINCT liberia FROM liberias ) AS a
JOIN libros AS b
LEFT JOIN liberia AS c ON c.libros = b.libros
AND c.liberia = b.liberia
似乎需要使用外部联接。请仅用英语书写,并在回答中发布您的解决方案,而不是在问题中查看以了解更多信息。