Мне нужно объединить два набора данных (запросы) в один набор данных для отчета SSRS.Они оба передают один и тот же параметр для получения результатов, но проблема в том, что они возвращают разное количество результатов, потому что вы передаете строку, содержащую идентификаторы, разделенные разделителем, и каждый запрос возвращает результаты для всех идентификаторов, переданных в параметре.
Первому запросу передается параметр, например, @Sem_ID = '137210;137211'
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)
, который возвращает одну строку для каждого значения в @Sem_ID: ID 137210 и ID 137211.
Второй запрос передает тот же параметр и возвращает несколько строк: например, я получаю 7 строк в результатах: 5 для идентификатора 137210 и 2 для идентификатора 137211.
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
Мне нужно как-то объединить эти запросы, чтобы у меня был один запрос, который передается в отчете.
Я пытался использовать UNION, но количество столбцов в обоих запросах различается.Есть предложения?