我有3个表:paginas, slider, pages_header(包含页面id + slider)
我需要从页面表中获得所有页面,然后检查paginas_slider表,如果它们有一个指定的滑块连接到它。我试图在纯mysql中做到这一点,但我不确定这是否可能。
我想用的是:
SELECT *
FROM paginas
LEFT JOIN pagina_slider ON paginas.id = pagina_slider.pagina
WHERE pagina_slider.slider = '1'
问题是,这只给出了具有id为"1"的滑块连接到它的页面(完全有意义)。我想要的是,它吐出paginas表的所有页面,它做了一个额外的检查,看看它是否有一个滑块连接到它。
有谁能帮我一下吗?如果你不想限制你的结果,但仍然想添加一个条件,你可以使用IF
来给你必要的数据。
在本例中,如果hasSlider
附加了滑块,则它将为1,否则为0:
SELECT *, IF(pagina_slider.slider = '1', 1, 0) AS hasSlider
FROM paginas
LEFT JOIN pagina_slider ON paginas.id = pagina_slider.pagina