Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: dan258 w Czerwiec 09, 2016, 10:14:27

Tytuł: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana 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
Tytuł: Odp: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana przez: dkozlowski w Czerwiec 09, 2016, 10:15:30
Nie da się.
Tytuł: Odp: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana przez: dan258 w Czerwiec 09, 2016, 11:02:59
Dzięki za info.
Tytuł: Odp: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana przez: Matternhorn w Czerwiec 14, 2016, 21:39:50
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
Tytuł: Odp: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana przez: birds22 w Czerwiec 14, 2016, 22:37:17
Dużo lepiej jest zbudować zestawienie typu XML. Trochę więcej pisania, ale można uzyskać kilka zestawień na jednym:

Tytuł: Odp: Dwa podzestawienia w jednym zestawieniu - czy się da?
Wiadomość wysłana przez: lkozlowski w Czerwiec 23, 2016, 23:34:33
A co czego ma służyć taka forma?