INNER JOIN クエリと WHERE 条件を組み合わせて、特定の users.id の「ロール」のセットを取得しようとしています。しかし、何か問題が発生しました。
私のデータベースには 4 つのテーブルがあります:
リーリー私の質問:
リーリーしかし、このクエリはデータを返しませんでした。 (phpmyadmin SQL ボードでテスト済み。)
P粉0557261462024-02-26 15:50:19
Akina がコメントセクションですでに述べたように、テーブル「role」には「libelle」値はなく、上で述べたように「Système」と同等です。そのため、出力が得られません。 MySQL データベースの「System」に修正して、再試行してください。
P粉6919581812024-02-26 13:57:22
###使用:###
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
に変更します。
は、role
テーブルではなく、
type_role テーブルにあります。