[英]How to get multiple columns data into the same cell with a SQL query?
我需要得到一個 sql 結果,該結果將表中的多列數據放入單個單元格中以獲得結果。 查詢會如何?
假設我有這兩張表:
表格1:
Name spec
--------------
James front
--------------
Henry front
--------------
Henry back
表 2:
Name dir
--------------
James 123
--------------
Henry 456
我想得到這個結果:
結果表:
Name spec dir
-----------------------
James front 123
-----------------------
Henry front 456
back
-----------------------
您可以嘗試使用group_concat()
函數
select a.name, group_concat(spec SEPARATOR ' '),dir
from table1 a inner join table2 b on a.name=b.name
group by a.name,dir
該問題的解決方案是調用連接。 連接使用某些標識符將多個表合並為一個。 在您的問題中,標識符是名稱。 一個示例解決方案是:
select table1.name, table2.spec, table2.dir
from table1 inner join table2 on table1.name = table2.name
示例: GROUP_CONCAT是正確的,但如果您想在新行中打印規范列值,請使用 ' \\n '
SELECT a.name, GROUP_CONCAT(spec SEPARATOR '\n'),dir
FROM table1 a INNER JOIN table2 b ON (a.name=b.name)
GROUP BY a.name,dir;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.