大家好日子:
在我的查询中,当我使用时:
CONCAT(GROUP_CONCAT(wu_paqueteproducto.extra1),' ',GROUP_CONCAT(wu_paqueteproducto.producto)) as elproducto
我得到类似的东西
+--------+---------+----+---------------------------------------------+
| poliza | cct | // | elproducto |
+--------+---------+----+---------------------------------------------+
| 0001 | kjjk565 | // | 1,2,2,6,1 pr001,pr002,pr003,pr004,pr005 |
+--------+---------+----+---------------------------------------------+
有没有办法让它像这样?
+--------+---------+----+---------------------------------------------+
| poliza | cct | // | elproducto |
+--------+---------+----+---------------------------------------------+
| 0001 | kjjk565 | // | 1 pr001, 2 pr002, 2 pr003, 6 pr004, 1 pr005 |
+--------+---------+----+---------------------------------------------+
表wu_paqueteproducto有这些数据:
| ids | extra1 | producto |
+------+----------+----------+
| 0001 | 1 | pr001 |
| 0002 | 2 | pr002 |
| 0003 | 2 | pr003 |
| 0004 | 6 | pr004 |
| 0005 | 1 | pr005 |
+------+----------+----------+
这是我的完整查询
SELECT
wu_polizas.poliza,
wu_polizas.cct,
wu_polizas.paquete,
wu_escuelas.director,
wu_escuelas.localidad,
wu_escuelas.nombre_mun,
wu_escuelas.nombre,
wu_facturashijo.empresa,
wu_bancos.banco as nombrebanco,
CONCAT(GROUP_CONCAT(wu_paqueteproducto.extra1),' ',GROUP_CONCAT(wu_paqueteproducto.producto)) as elproducto
FROM
wu_polizas
INNER JOIN wu_escuelas ON (wu_polizas.cct=wu_escuelas.cct)
INNER JOIN wu_facturashijo ON (wu_polizas.factura=wu_facturashijo.clave)
INNER JOIN wu_bancos ON (wu_polizas.banco=wu_bancos.ids)
INNER JOIN wu_paqueteproducto ON (wu_polizas.paquete=wu_paqueteproducto.paquete)
WHERE
wu_polizas.factura=002
GROUP BY
poliza
ORDER BY
poliza
答案 0 :(得分:0)
将CONCAT
放在GROUP_CONCAT
内而不是相反:
GROUP_CONCAT(CONCAT(wu_paqueteproducto.extra1, ' ', wu_paqueteproducto.producto)) AS elproducto
答案 1 :(得分:0)
我在SQL Fiddle上写了一个解决方案,而不是可以轻松翻译成您的查询:
MySQL 5.6架构设置:
create table t ( a char(1), b char(1), i int);
insert into t values
( '1', 'a', 1 ),
( '2', 'b', 1 ),
('8', 'x', 2),
('9', 'y', 2);
<强>查询强>:
select GROUP_CONCAT( CONCAT_WS(' ', a, b ))
from t
group by i
<强> Results 强>:
| GROUP_CONCAT( CONCAT_WS(' ', a, b )) |
|--------------------------------------|
| 1 a,2 b |
| 8 x,9 y |
你是新手,记得你应该学习to ask a good question。仔细阅读:
答案 2 :(得分:0)
试试这个:
SELECT
wu_polizas.poliza,
wu_polizas.cct,
wu_polizas.paquete,
wu_escuelas.director,
wu_escuelas.localidad,
wu_escuelas.nombre_mun,
wu_escuelas.nombre,
wu_facturashijo.empresa,
wu_bancos.banco as nombrebanco,
GROUP_CONCAT(wu_paq.custom) as elproducto
FROM
wu_polizas
INNER JOIN wu_escuelas ON (wu_polizas.cct=wu_escuelas.cct)
INNER JOIN wu_facturashijo ON (wu_polizas.factura=wu_facturashijo.clave)
INNER JOIN wu_bancos ON (wu_polizas.banco=wu_bancos.ids)
INNER JOIN (SELECT *, CONCAT(extra1, ' ', producto) AS custom FROM wu_paqueteproducto) AS wu_paq ON (wu_polizas.paquete=wu_paq.paquete)
WHERE
wu_polizas.factura=002
GROUP BY
poliza
ORDER BY
poliza