4
我有正确的语法问题使用UNION和GROUP_CONCAT在这种情况下:如何使用UNION和GROUP_CONCAT一起
我有4个表:
- 基地:是与主表很多列。
- 毫米:是一个毫米表,使用'tablenames'字段指向下两个表。
- 存储数据相关的t1和t2。
“基本”表中的记录可以在t1和t2中通过mm表有很多相关记录。
我在MySQL中创建一个视图,我需要所有这些相关记录显示在单列中用逗号分隔。
这是基本MySQL代码:
SELECT base.uid, t1.nombre_es
FROM base
INNER JOIN mm
ON mm.uid_local=base.uid
INNER JOIN t1
ON mm.uid_foreign=t1.uid WHERE mm.tablenames = 't1'
UNION
SELECT base.uid, t2.nombre_es
FROM base
INNER JOIN mm
ON mm.uid_local=base.uid
INNER JOIN t2
ON mm.uid_foreign=t2.uid WHERE mm.tablenames = 't2'
预先感谢。
我可以使用两种观点,第一个使用上述名称为“viewtest”的代码,第二个与此代码做到这一点:
SELECT base.uid,
GROUP_CONCAT(DISTINCT vi.nombre_es ORDER BY vi.nombre_es SEPARATOR ',') as nombre
FROM base
INNER JOIN viewtest as vi
ON vi.uid=base.uid
GROUP BY uid
现在的问题是¿我怎样才能在单个视图中加入此两种观点?
感谢Ignacio为你的答案,我害怕表现:[派生表和视图性能](http://www.mysqlperformanceblog.com/2006/08/31/derived-tables-and-views-performance/ )你知道其他方式来做我需要的吗? – Memochipan