簡體   English   中英

mysql中逗號分隔的值分成多行

[英]comma separated values in mysql in to multiple rows

我在mysql查詢中遇到問題,我需要mysql查詢才能顯示以下輸出,並且我還需要csv或excel或pdf報告。

表格1:

id : nos
---------
1    12,13,14
2    14
3    14,12

表2:

id : values
------------
12   raja
13   rames
14   ravi

我想要這樣的輸出:

id  values
---------------------
1   raja
1   rames
1   ravi
2   ravi
3   ravi
3   raja

以下查詢將拆分出該列表,但在大型表上的效果不太可能。

SELECT table1.id, table2.values
FROM table1
    JOIN table2 ON CONCAT(',', table1.nos, ',') LIKE CONCAT(',' table2.id, ',')

如果您有nos1,nos2,nos3 ... ecc

SELECT a.id,a.nos
        b.id,b.values
FROM Table1 as a, Table2 as b
WHERE (a.nos1 = b.id) OR
   (a.nos2 = b.id) OR
   (a.nos3 = b.id)

您需要將表1中的數據保存到多個記錄中。 例如數據將是

id : nos
---------
1    12
1    13
1    14
2    14
3    14
3    12

然后,您可以使用以下查詢來獲取結果

select table1.id, table2.values from table1,table2 where table1.nos=table2.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM