1. 程式人生 > >mysql一個欄位多個值關聯另一張表

mysql一個欄位多個值關聯另一張表

    A表的id欄位是以'1,2,3,4,5'...這樣的形式存的,它關聯字典表B的id欄位,此時需求是要查出name

  SQL:

SELECT
	a.id,
	(
		SELECT
			GROUP_CONCAT(t.NAME)
		FROM
			test t
		WHERE
			FIND_IN_SET(
				t.id,
				a.fixedAssetClass
			)
	)name
FROM
	table a
WHERE
	a.id = '123'


還有一種情況會用到迴圈。

SQL:
SELECT 
a.* 
FROM table a
........
where a.id in 
<foreach collection="arr" item="item" index="index" 
open="(" separator="," close=")">#{item}</foreach>
GROUP BY a.id