カンマ区切りのリストとしてMySQLの結果
-
20-08-2019 - |
質問
私のようなクエリを実行する必要があります:
SELECT p.id, p.name,
(SELECT name
FROM sites s
WHERE s.id = p.site_id) AS site_list
FROM publications p
しかし、私は代わりに、データの列のカンマ区切りリストを返すために、サブ選択をしたいと思います。これさえ可能であり、そうであれば、どのように?
解決
あなたは GROUP_CONCAT を使用することができますA>それを実行するために、例えば
のようなものSELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON(s.id = p.site_id)
GROUP BY p.id, p.name;
他のヒント
の代わりにあなただけ使用することができますgroup concat()
使用してのconcat()
Select concat(Col1, ',', Col2) as Foo_Bar from Table1;
MySQLでは、この唯一の作品を編集します。オラクルの連結は2つのだけの引数を受け付けます。オラクルでは、選択col1のようなものを使用することができ||「 『|| COL2 ||』、」|| TABLE1からfoobarのようCOL3を。 SQL Serverで使用するには、+代わりにパイプを使用することになります。
私の場合は、携帯電話番号が一意であるだ人のすべての口座番号を連結しなければなりません。だから私はそれを達成するために、次のクエリを使用しています。
SELECT GROUP_CONCAT(AccountsNo) as Accounts FROM `tblaccounts` GROUP BY MobileNumber
クエリ結果は以下の通りです:
Accounts
93348001,97530801,93348001,97530801
89663501
62630701
6227895144840002
60070021
60070020
60070019
60070018
60070017
60070016
60070015
所属していません StackOverflow