MtMに応じてチェックされたチェックボックス

私は3つのテーブルを持っています:ページャ、スライダ、pages_header(ページのID +スライダを含む)

私はページテーブルからすべてのページを取得し、指定されたスライダが接続されている場合は、paginas_sliderテーブルをチェックインする必要があります。私は純粋なmysqlでこれをやろうとしていますが、これが可能なのかどうかはわかりません。

私が使用しようとしているのはこれです:

SELECT *
FROM paginas 
LEFT JOIN pagina_slider ON paginas.id = pagina_slider.pagina
WHERE pagina_slider.slider = '1'

問題は、これはid '1'のスライダが接続されているページにのみ接続されていることです(完璧な意味合いです)。 私が望むのは、それはpaginasテーブルからすべてのページを吐き出し、スライダが接続されているかどうかを確認するために余分なチェックを行うということです。

誰も私に助けてくれますか?

2
1ビットのコードなしであなたを手伝ってくれる人はどうですか?
追加された 著者 N.B.,

1 答え

結果を制限したくないのに条件を追加したい場合は、 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
0
追加された
そうであれば、解を推論することは容易ではありません。スキーマを投稿する必要があります。
追加された 著者 Brendan Bullen,
それはトリックでした!ありがとうございます<3
追加された 著者 Nick,
このソリューションが100%動作していないことが判明した場合は、チェックしてください。たとえば、DBに同じページのインスタンスが複数存在する場合、そのページの複製が取得されます。これを隠すためにこれらをグループ化することもできますが、これは結果が防水性でないことを意味します。
追加された 著者 Nick,
私はページ - > id、title、contentという3つのテーブルを持っています。 ID、タイトル、コンテンツ、スライダーページ - > id、page_id、slider_idのスライダー私は、特定のページが選択されているページテーブルからチェックボックスを生成し、そのページに接続されているスライダがあるかどうかを確認したいと考えています。ことは、私はすべてのページ(スライダなしのもの)を選択し、それらのチェックボックスを作成したいということです。
追加された 著者 Nick,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com