Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 重复所有其他字段值时,组合两个不同的字段值_Sql_Sql Server - Fatal编程技术网

Sql 重复所有其他字段值时,组合两个不同的字段值

Sql 重复所有其他字段值时,组合两个不同的字段值,sql,sql-server,Sql,Sql Server,当select中的其他值重复时,我尝试合并两个单元格。我试图合并的字段永远不会相同,它是select中的最后一个字段 选择字段1、字段2、字段3、字段4、字段5、字段6、表2.name 来自表1 table1.id上的内部联接table2=table2.table1\u id table2.field8=table2.id上的内部联接table2 其中,表1.id在表2中选择表1\u id在表1中选择字段8在表3中选择字段8在表1234中选择字段9 表1.1=0 和表2.id,从表3中选择字段8

当select中的其他值重复时,我尝试合并两个单元格。我试图合并的字段永远不会相同,它是select中的最后一个字段

选择字段1、字段2、字段3、字段4、字段5、字段6、表2.name 来自表1 table1.id上的内部联接table2=table2.table1\u id table2.field8=table2.id上的内部联接table2 其中,表1.id在表2中选择表1\u id在表1中选择字段8在表3中选择字段8在表1234中选择字段9 表1.1=0 和表2.id,从表3中选择字段8,其中字段9位于1234中

所以基本上,当字段1-6相同,并且最后一个字段有多个值时,只显示记录的一行,最后一个字段合并了两个varchar值

电流输出如下:

店名1波特兰大街1号或97216路AB

店名1波特兰大街1号或公元前97216路

我想要这个:

店名1波特兰大街1号或97216 AB路、BC路


注意:内部联接中的某些逻辑可能已关闭,因为我正在处理一个实时数据库,并试图用通用名称替换这些名称。

这就是您要查找的吗

select field1,field2,field3,field4,field5,field6,max(table2.name)+' '+ case when max(table2.name)=min(table2.name) then '' else min(table2.name) end name

from table1 INNER JOIN table2 ON table1.id = table2.table1_id 
INNER JOIN table2 ON table2.field8 = table2.id 

where table1.id in (select table1_id from table2_table1 where field8 in (select field8 from table3 where field9 in (1234))) and table1.disabled=0 and table2.id in (select field8 from table3 where field9 in (1234))
group by field1,field2,field3,field4,field5,field6

你能分享一个例子和预期结果吗请发布一些样本数据和预期结果。和…一行从哪个表。标签正确!!!MySQL SQL Server!!!这是哪一个???样本输入???预期产量???表格结构???学习如何提问。我的sql或sql server是哪个数据库服务器?这只给了我table2.name的第一个值。我需要一行,其中的值是组合的。