Radomił Ząbik 306 Napisano 20 Kwietnia 2021 Udostępnij Napisano 20 Kwietnia 2021 w [Raport SQL] Dynamiczne kolumny, a synchronizacja Przygotowałem raport, w którym w zależności od wybranego okresu, generowane są kolumny dla miesięcy z wskazanego okresu. O ile funkcja sprawdź zapytanie w edytorze NEXO, zwraca, że wszystko jest ok, o tyle synchronizuj zapytanie nie przepuszcza takiej formy raportu. Efekt dynamicznych kolumn, uzyskałem poprzez zmienną tekstową, w którą wsadziłem zapytanie, dynamicznie uzupełniłem, a na końcu użyłem: PRINT @sql; EXEC sp_executesql @sql; Link to postu
Jerzy Dudra 38 Napisano 21 Kwietnia 2021 Udostępnij Napisano 21 Kwietnia 2021 w [Raport SQL] Dynamiczne kolumny, a synchronizacja (edytowane) Faktycznie jest problem z dynamicznymi sql'ami, gdy dynamicznie generowana jest struktura wyniku zapytania. Wynika to z tego, że na potrzeby generowania kolumn, wykonywane jest zapytanie zwracające strukturę, które może zachowywać się inaczej niż "pełne zapytanie". Podyktowane to było względami wydajnościowymi. W poniższym przykładzie widać, że instrukcja IF działa w trybie "pytania o strukturę" inaczej niż instrukcja CASE. DECLARE @sql NVARCHAR(max) DECLARE @lineFromIF NVARCHAR(500) DECLARE @lineFromCASE NVARCHAR(500) DECLARE @wajcha INT = 1 IF @wajcha=1 BEGIN set @lineFromIF = N', ''IF pierwsza'' as [IF Pierwsza]' END ELSE IF @wajcha=2 BEGIN set @lineFromIF = N', ''IF druga'' as [IF Druga]' END ELSE BEGIN set @lineFromIF = N', ''IF trzecia'' as [IF Trzecia]' END set @lineFromCASE = N', ' + CASE WHEN @wajcha = 1 THEN N'''CASE Pierwsza'' as [CASE Pierwsza]' WHEN @wajcha = 2 THEN N'''CASE Druga'' as [CASE Druga]' ELSE N'''CASE Trzecia'' as [CASE Trzecia]' END set @sql = N'SELECT Id,Symbol, Nazwa ' + @lineFromIF + @lineFromCASE + N' FROM ModelDanychContainer.Asortymenty' PRINT @sql EXEC sp_executesql @sql; Postaramy się jakoś zaadresować ten problem, ale na teraz nie widzę eleganckiego rozwiązania tego problemu. Edytowane 21 Kwietnia 2021 przez Jerzy Dudra Link to postu
Radomił Ząbik 306 Napisano 29 Czerwca 2022 Autor Udostępnij Napisano 29 Czerwca 2022 w [Raport SQL] Dynamiczne kolumny, a synchronizacja Coś udało się w temacie zadziałać? Coś ludzie coraz częściej pytają o takie dynamiczne raporty. Link to postu
Jerzy Dudra 38 Napisano 30 Czerwca 2022 Udostępnij Napisano 30 Czerwca 2022 w [Raport SQL] Dynamiczne kolumny, a synchronizacja W najbliższym czasie, nie planujemy dynamicznego generowania kolumn na podstawie wyniku zapytania. Link to postu
Polecane posty