【发布时间】:2020-01-12 11:54:30
【问题描述】:
我正在测试SQL中的一个查询,其中我需要以逗号分隔列表的形式连接值,并且它有效,我只是有重复值的问题。
这是查询:
SELECT t0.id_marcas AS CodMarca,
t0.nombremarcas AS NombreMarca,
t0.imagenmarcas,
(SELECT String_agg((t2.name), ', ')
FROM exlcartu_devcit.store_to_cuisine t1
INNER JOIN exlcartu_devcit.cuisine t2
ON t1.cuisine_id = t2.cuisine_id
WHERE store_id = (SELECT TOP 1 store_id
FROM exlcartu_devcit.store
WHERE id_marcas = t0.id_marcas
AND status = 1)) AS Descripcion,
t0.logo,
t0.imagen,
(SELECT TOP 1 preparing_time
FROM exlcartu_devcit.store
WHERE id_marcas = t0.id_marcas
AND status = 1) AS Tiempo,
t0.orden,
(SELECT TOP 1 Avg(minimum_amount)
FROM exlcartu_devcit.store_delivery_zone
WHERE id_marcas = t0.id_marcas) AS MontoMinimo
FROM exlcartu_devcit.[marcas] t0
我认为解决方案可能只是在查询中添加一个DISTINCT以避免这样的重复值......
(SELECT STRING_AGG(DISTINCT (t2.name), ', ') AS Descripcion
但显然STRING_AGG() 函数不支持它,知道如何避免重复值吗?
【问题讨论】:
标签: sql sql-server