2016-09-13 6 views
0

私は、クエリの成功グループ、連結クエリmysqlの

テーブルのユーザーの後に結果を持っていた:

enter image description here

そして結果に。私はテーブル主題への結合がidによって主語名を得ることを望む。

enter image description here

テーブルのユーザーのIDテーブル科目で私が欲しい

出力関連:

enter image description here

をあなたは私のクエリを与えることができ

表科目は

。皆さんありがとう !

+1

は、あなたの期待出力と一緒に、完全な最初のテーブルを表示することができますか? –

+0

自分で試してみてください。ここでは、理解するためにMySQLでJoinsについて読むことができます。 https://www.sitepoint.com/understanding-sql-joins-mysql-database/ – Nebi

+0

生データと結果をどのように表示するかを指定します。 –

答えて

0

あなたはMySQLテーブルにCSVデータを保存していますが、これは望ましくありません。しかし、あなたがそれを使用して作業する1つの方法は、FIND_IN_SETを使用してuserテーブルにテーブルを結合して、後者に含まれるCSVデータを処理することです。ここ

SELECT t2.defaultSubjectId, 
     GROUP_CONCAT(t1.subject) 
FROM Subjects t1 
INNER JOIN user t2 
    ON FIND_IN_SET(t1.subjectId, t2.defaultSubjectId) > 0 
GROUP BY t2.defaultSubjectId 

デモ:

SQLFiddle

+0

ありがとう、私はそれをテストします。私はあなたのために生データを投稿します仕事をしない場合 –

+0

それは働いた:)ありがとうございました ! –

+0

今後は、CSVデータの使用を避ける必要があります。この特定のケースでは、 'FIND_IN_SET'を使用して回避することができましたが、両方ともCSVを使用している2つのカラムに参加する必要があった場合、MySQLでこれを行うのは非常に困難です。 –