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

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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート