Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
.net 使用外部联接sql将多行合并为一行_.net_Sql Server 2008 - Fatal编程技术网

.net 使用外部联接sql将多行合并为一行

.net 使用外部联接sql将多行合并为一行,.net,sql-server-2008,.net,Sql Server 2008,我有以下数据,我只想显示表1中每个表1ID的3行1行,但有些ID在表2中有多个条目,这会在显示数据时创建一个新行,但我想将表2s数据合并到表1中的一行中 Table 1 Table 2 Table1Id Name State table2Id Table1Id City 1 Bart Idaho

我有以下数据,我只想显示表1中每个表1ID的3行1行,但有些ID在表2中有多个条目,这会在显示数据时创建一个新行,但我想将表2s数据合并到表1中的一行中

Table 1                                      Table 2
Table1Id     Name     State                  table2Id   Table1Id   City
  1          Bart     Idaho                     1          1       Boise
  2          Jenny    Utah                      2          2       Salt Lake
  3          Jill     Arizona                   3          3       Phoenix
                                                4          3       Yuma

Select * From Table1 FULL OUTER JOIN Table2 ON Table1.TableId = Table2.Table1Id

So far, it displays 4 rows like this:
Name      State     City
1.Bart    Idaho     Boise
2. Jenny   Utah      Salt Lake
3. Jill    Arizona   Phoenix
4. Jill    Arixona   Yuma

I want it to display 3 rows like this (with my gridview of course)
Name      State      City
1.Bart    Idaho      Boise
2. Jenny   Utah      Salt Lake
3. Jill    Arizona   Phoenix  Yuma
与此类似,您可以使用STUFF和XML路径作为分组依据

选择 [ID], [姓名], [国家], 东西 选择“,”+[City]+”:“+将[Value]转换为VARCHARMAX 从你的桌子上 其中ID=Results.ID 对于XML路径,键入.value'/text[1]',VARCHARMAX' ,1,2,作为名称值 从您的表格结果 按ID分组
由于这更像是一个显示问题,因此通常最好在前端而不是后端执行此操作。

因此,无法使用类似于我的连接方式执行此操作?原因是我的select要复杂得多,有多个连接和一个轴,但我试图使这个假设查询适合我连接该表的方式。如果您想在该结束表上基本上执行GROUP BY,并将字符串连接到单个列中,这是我见过的最简单的方法。我会接受你的答案,因为它确实回答了问题,并且会在这里提出一个更复杂的问题