我在mysql查询中遇到问题,我需要mysql查询才能显示以下输出,我还需要输入csv或excel或pdf报告。
id : nos
---------
1 12,13,14
2 14
3 14,12
id : values
------------
12 raja
13 rames
14 ravi
我想要这样的输出:
id values
---------------------
1 raja
1 rames
1 ravi
2 ravi
3 ravi
3 raja
答案 0 :(得分:1)
以下查询将拆分列表,但它不太可能在大型表上运行良好。
SELECT table1.id, table2.values
FROM table1
JOIN table2 ON CONCAT(',', table1.nos, ',') LIKE CONCAT(',' table2.id, ',')
答案 1 :(得分:0)
您需要将表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
答案 2 :(得分:0)
如果您有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)