84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
INNER JOIN クエリと WHERE 条件を組み合わせて、特定の users.id の「ロール」のセットを取得しようとしています。しかし、何か問題が発生しました。
私のデータベースには 4 つのテーブルがあります:
私の質問:
しかし、このクエリはデータを返しませんでした。 (phpmyadmin SQL ボードでテスト済み。)
Akina がコメントセクションですでに述べたように、テーブル「role」には「libelle」値はなく、上で述べたように「Système」と同等です。そのため、出力が得られません。 MySQL データベースの「System」に修正して、再試行してください。
###使用:###
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 = 'システム';
一个> 整数を一重引用符で囲まず、
を WHERE a.id_user = 1 に変更します。
WHERE a.id_user = 1
は、role テーブルではなく、type_role テーブルにあります。
role
ではなく、
テーブルにあります。
Akina がコメントセクションですでに述べたように、テーブル「role」には「libelle」値はなく、上で述べたように「Système」と同等です。そのため、出力が得られません。 MySQL データベースの「System」に修正して、再試行してください。
###使用:###
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'を
libelle = 'system'WHERE a.id_user = 1
に変更します。は、
role
テーブルではなく、
type_roleテーブルにあります。