Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: dan258 w Czerwiec 09, 2016, 10:14:27
-
Witam,
chciałbym zapytać czy jest możliwe podzielenie okna zestawienia na dwie części i wyświetlanie jednego wyniku zapytania w górnej części, a drugiego wyniku innego zapytania w dolnej części?
Przypuszczam że nie i trzeba będzie pisać odrębną aplikację własną, ale być może się da, uprzejmie proszę o pomoc,
pozdrawiam
-
Nie da się.
-
Dzięki za info.
-
Można kombinowac z UNION, ilość kolumn i ich typ powinien być zachowany, często wstaaiwm puste kolumny dla różnych selectów. Czasem zeby uzyskac odpowiednią kolejność wyników dodaję kolumnę kolejność i wyniki z jednego numeruję, 1 z drugiego 2, potem sortuję najpierw po tej kolumnie. Nagłówki drugiej kolumny też robię przy użyciu UNION.
Nie jest to zbyt eleganckie ale jesli chcesz mieć szybki pogląd..
Poniżej przykład który pokazuje w jednym zestawieniu kilka zestawień
select
'zablokowane' as Rodzaj,
'A=MB B=GB' as Nazwa,
--IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) [Wartość A],
IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) / 1024/1024 as [Wartość A],
IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) / 1024 / 1024/1024 as [Wartość B]
from tw_ZdjecieTw
join tw__Towar on tw_ZdjecieTw.zd_IdTowar = tw__Towar.tw_Id
where tw__Towar.tw_Zablokowany = 1
UNION ALL
select
'niezablokowane' as Rodzaj,
'A=MB B=GB' as Nazwa,
--IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) [Rozmiar w B],
IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) / 1024/1024 as [Rozmiar w kB],
IsNull(Sum(DATALENGTH(tw_ZdjecieTw.zd_Zdjecie)), 0) / 1024 / 1024 / 1024 as [Rozmiar w MB]
from tw_ZdjecieTw
join tw__Towar on tw_ZdjecieTw.zd_IdTowar = tw__Towar.tw_Id
where tw__Towar.tw_Zablokowany = 0
UNION ALL
select
'Ilość zdjęć total (szt)' as Rodzaj,
'szt zdjęć:' as Nazwa,
null,
count(zd_Id)
from tw_ZdjecieTw
UNION ALL
select
'Ilość produktów (niezablokowanych) (szt)' as Rodzaj,
'ze zdjęciem (szt)' as Nazwa,
null,
count(tw_Id)
from tw__Towar
where tw_Glebokosc > 0
and tw_Zablokowany = 0
UNION ALL
select
'Ilość produktów (niezablokowanych) (szt)' as Rodzaj,
'wszytkich bez grupy IR3-TMP, US,WPx,G10, SKŁ (szt)' as Nazwa,
null,
count(tw_Id)
from tw__Towar
WHERE tw_Zablokowany = 0
and tw_IdGrupa not in (11,22,25,13,30,31)
Union All
SELECT
'Ilość produktów (zablokowanych) (szt)' as Rodzaj,
'ze zdjęciem (szt)' as Nazwa,
null,
count(tw_Id)
from tw_ZdjecieTw
join tw__Towar on tw_ZdjecieTw.zd_IdTowar = tw__Towar.tw_Id
where tw__Towar.tw_Zablokowany = 1
UNION ALL
select
NULL,NULL,NULL,NULL
UNION ALL --pusta linijka :)
select
'Zablokowane ze zdjęciem:' as Nazwa,
null,
null,
null
Union All
select
tw_Symbol, tw_nazwa,
null,null
from tw_ZdjecieTw
join tw__Towar on tw_ZdjecieTw.zd_IdTowar = tw__Towar.tw_Id
where tw__Towar.tw_Zablokowany = 1
-
Dużo lepiej jest zbudować zestawienie typu XML. Trochę więcej pisania, ale można uzyskać kilka zestawień na jednym:
-
A co czego ma służyć taka forma?