Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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/0/vba/17.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 将5行与2行合并?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次_Sql_Sql Server - Fatal编程技术网

Sql 将5行与2行合并?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次

Sql 将5行与2行合并?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次,sql,sql-server,Sql,Sql Server,将5行与2行合并?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次查询)。我需要将它们组合成一个数据集,这样我就可以为传入Sem_ID的每个研讨会ID值显示多个网格。没有人想要您的敏感数据(1,2,3),(4,5)->(1,2,3,空),(4,空,空,5)-类似的东西到单个数据集什么样的数据集?我们应该如何知


将5行与2行合并?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次查询)。我需要将它们组合成一个数据集,这样我就可以为传入Sem_ID的每个研讨会ID值显示多个网格。没有人想要您的敏感数据<代码>(1,2,3),(4,5)->(1,2,3,空),(4,空,空,5)-类似的东西<编码>到单个数据集什么样的数据集?我们应该如何知道不同的数据集应该如何“组合”成一个?工会?完全加入?交叉连接+聚合?Left join?能否提供两个数据集的示例以及查询结果?@DKyleo抱歉,忘记包含第二个查询。编辑了我的问题,并添加了ID 137210的结果图片
5,ID 137211的结果图片2。
将5行与2行组合的逻辑是什么?请按照DKyleo的要求提供示例源数据和所需输出。@IvanStarostin我不能提供示例数据,因为它包含不允许共享的真实信息。我需要的理想输出是:在我的报告中,我有单独的研讨会信息数据集(第一次查询)和单独的研讨会与会者数据集(第二次查询)。我需要将它们组合成一个数据集,这样我就可以为传入Sem_ID的每个研讨会ID值显示多个网格。没有人想要您的敏感数据<代码>(1,2,3),(4,5)->(1,2,3,空),(4,空,空,5)-类似的东西<编码>到单个数据集什么样的数据集?我们应该如何知道不同的数据集应该如何“组合”成一个?工会?完全加入?交叉连接+聚合?左加入?谢谢你的回答。我需要将多个数据集合并为一个数据集的原因是,我的报表中有4个不同的网格,它们使用来自不同表的数据。我们要做的是在一个字符串参数中传递多个ID值,而我以前在SSRS中从未做过类似的事情,尤其是在一个tablix行中传递多个网格。@Bernard Polman-也许子报表会对您有所帮助。试着使用它们。您可以在这里查看我的演示项目-
TestData.sql
-创建测试数据库的脚本<代码>报告项目1-演示SSRS项目<代码>图片N.png-请看截图。感谢您的回答。我需要将多个数据集合并为一个数据集的原因是,我的报表中有4个不同的网格,它们使用来自不同表的数据。我们要做的是在一个字符串参数中传递多个ID值,而我以前在SSRS中从未做过类似的事情,尤其是在一个tablix行中传递多个网格。@Bernard Polman-也许子报表会对您有所帮助。试着使用它们。您可以在这里查看我的演示项目-
TestData.sql
-创建测试数据库的脚本<代码>报告项目1-演示SSRS项目<代码>图像N.png-同时查看屏幕截图。
SELECT Sem_ID, Sem_KW, Sem_Jahr, Sem_SemNrKata, Sem_von, Sem_bis, h.chr_name, h.chr_ort
FROM acc_seminar.t_Seminar
JOIN dbo.tbl_hotel h ON Sem_Ht_ID=h.pk_hotel
WHERE Sem_ID IN (SELECT value  
FROM fn_Split(@Sem_ID, ';')  
WHERE RTRIM(value) <> '') AND (Sem_SemTh_ID != 76 AND Sem_Sto = 0)
SELECT tu.TU_Name AS Name, tu.TU_Vorname AS Vorname, ParkgebuehrBrutto AS Preis
FROM acc_seminar.t_Teiluber_Ext tux
JOIN acc_seminar.t_Teiluber tu ON tux.TeiluberId = tu.TU_ID
JOIN acc_seminar.t_Seminar s ON tu.TU_Sem_ID = s.Sem_ID
WHERE s.Sem_ID IN (SELECT value  
                   FROM fn_Split(@Sem_ID, ';')  
                   WHERE RTRIM(value) <> '')
  AND ParkgebuehrBrutto IS NOT NULL
-- query 1
SELECT
  col1,
  col2,
  col3,
  col4,
  NULL col5 -- this column is not exist in the query 1
FROM ...

UNION ALL

-- query 2
SELECT
  NULL col1, -- this column is not exist in the query 2
  col2,
  col3,
  NULL col4, -- this column is not exist in the query 2
  col5
FROM ...
SELECT
  Sem_ID, Sem_KW, Sem_Jahr, Sem_SemNrKata, Sem_von, Sem_bis, h.chr_name, h.chr_ort,
  NULL Name, NULL Vorname, NULL Preis
FROM acc_seminar.t_Seminar
JOIN dbo.tbl_hotel h ON Sem_Ht_ID=h.pk_hotel
WHERE Sem_ID IN (SELECT value  
FROM fn_Split(@Sem_ID, ';')  
WHERE RTRIM(value) <> '') AND (Sem_SemTh_ID != 76 AND Sem_Sto = 0)

UNION ALL

SELECT
  NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  tu.TU_Name AS Name, tu.TU_Vorname AS Vorname, ParkgebuehrBrutto AS Preis
FROM acc_seminar.t_Teiluber_Ext tux
JOIN acc_seminar.t_Teiluber tu ON tux.TeiluberId = tu.TU_ID
JOIN acc_seminar.t_Seminar s ON tu.TU_Sem_ID = s.Sem_ID WHERE s.Sem_ID IN (SELECT value  
FROM fn_Split(@Sem_ID, ';')  
WHERE RTRIM(value) <> '')  AND ParkgebuehrBrutto IS NOT NULL
;WITH cte1 AS(
  SELECT Sem_ID, Sem_KW, Sem_Jahr, Sem_SemNrKata, Sem_von, Sem_bis, h.chr_name, h.chr_ort, ROW_NUMBER()OVER(ORDER BY Sem_ID) N
  FROM acc_seminar.t_Seminar
  JOIN dbo.tbl_hotel h ON Sem_Ht_ID=h.pk_hotel
  WHERE Sem_ID IN (SELECT value  
  FROM fn_Split(@Sem_ID, ';')  
  WHERE RTRIM(value) <> '') AND (Sem_SemTh_ID != 76 AND Sem_Sto = 0)
),
cte2 AS(
  SELECT tu.TU_Name AS Name, tu.TU_Vorname AS Vorname, ParkgebuehrBrutto AS Preis, ROW_NUMBER()OVER(ORDER BY tu.TU_Name) N
  FROM acc_seminar.t_Teiluber_Ext tux
  JOIN acc_seminar.t_Teiluber tu ON tux.TeiluberId = tu.TU_ID
  JOIN acc_seminar.t_Seminar s ON tu.TU_Sem_ID = s.Sem_ID
  WHERE s.Sem_ID IN (SELECT value  
                     FROM fn_Split(@Sem_ID, ';')  
                     WHERE RTRIM(value) <> '')
    AND ParkgebuehrBrutto IS NOT NULL
)
SELECT
  cte1.Sem_ID, cte1.Sem_KW, cte1.Sem_Jahr, cte1.Sem_SemNrKata, cte1.Sem_von, cte1.Sem_bis, cte1.chr_name, cte1.chr_ort,
  cte2.Name,cte2.Vorname,cte2.Preis
FROM cte1
FULL JOIN cte2 ON cte1.N=cte2.N
ORDER BY ISNULL(cte1.N,cte2.N)