在2个表格中搜索空值 - MariaDB
我需要在特定的表格中获取所需的数据。
我希望你帮助我解决这个问题,因为我不知道该怎么做。
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;
答案 0 :(得分:0)
这样的事情:
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