MySQL SELECT INNER JOIN の間違った使用法
P粉022285768
P粉022285768 2024-02-25 22:06:14
0
2
368

INNER JOIN クエリと WHERE 条件を組み合わせて、特定の users.id の「ロール」のセットを取得しようとしています。しかし、何か問題が発生しました。

私のデータベースには 4 つのテーブルがあります:

リーリー

私の質問:

リーリー

しかし、このクエリはデータを返しませんでした。 (phpmyadmin SQL ボードでテスト済み。)

P粉022285768
P粉022285768

全員に返信 (2)
P粉055726146

Akina がコメントセクションですでに述べたように、テーブル「role」には「libelle」値はなく、上で述べたように「Système」と同等です。そのため、出力が得られません。 MySQL データベースの「System」に修正して、再試行してください。

いいねを押す+0
    P粉691958181

    ###使用:###

    SELECT u.id AS ID、 r.libelle AS ロール、 t.リベルASタイプ ユーザーからのあなた JOIN アクション a ON a.id_user = u.id JOIN type_role t ON t.id = a.id_type_role JOIN ロール r ON r.id = a.id_role WHERE a.id_user =1 かつ t.libelle = 'システム';

    https://dbfiddle.uk/?rdbms=mysql_5.7&fiddle=20570938deb2bec281d5070dd28bf19d
              

    一个> 整数を一重引用符で囲まず、

    WHERE a.id_user ='1'

    WHERE a.id_user = 1に変更します。

    libelle = 'system'

    は、roleテーブルではなく、type_roleテーブルにあります。

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!