SQL - 2 lub więcej zapytań w jednym

0

Jestem poczatkujący więc proszę się nie śmiac :-)
Potrzebuje skleić 2 lub więcej zapytań w jedno , dzięki temu będę mógł uzyskać wszelkie niezbędene dane "obok siebie"
mamy tabelę z danymi

ID K1 K2 K3 K4
2 2 M 2013-06-02 112,97
2 3 K 2013-06-03 122,90
2 4 K 2013-06-04 23,90
4 3 M 2013-06-01 35,90
4 0 L 2013-06-02 23,87
5 1 K 2013-06-03 32,09
6 3 M 2013-06-04 123,90
6 4 M 2013-06-05 234,97

no i chciałem sobie pobrać dane w taki spósób aby otrzymać

w kolumnie 1 = Date (całość będzie grupowana by K3)
w kolumnie 2 = ilość unikatów z kolumny ID ( DISTINCT ID )
w kolumnie 3 = Sumę z kolumny K2

to byłby jednen wariant, drugi to taki sam ale dodatkowo byłaby pokazana jeszcze K4 czyli

w kolumnie 1 = Date (całość będzie grupowana by K3)
w kolumnie 2 = ilość unikatów z kolumny ID ( DISTINCT ID )
w kolumnie 3 = Sumę z kolumny K2
w kolumnie 4 = Sumę z kolumny K4

te dane możba uzyskiwać "na raty" a potem odpowiednio je szeregując obok siebie( tak robiłem do tej pory )
ale pomyślalem że pojdę 'krok do przodu"

ten przydkład dotyczy tej samej tabeli , pewnie w przyszłości będę chciał uzyskiwac dane z różnych tabel
i pewnie znów będę prosił o wsparcie :-)

dziękuję i Pozdrawiam

wporzak

0

Chodzi Ci chyba o sumę kolumny K1?
dla mssql:

select k3, count(k3), sum(k1), sum(k4) from tabela group by k3 
0

jaaaaaaasne... przecież to takie proste !,
zastaniam się dlaczego tak nie zrobiłem a zamist to kombinowałem że to będzie jakiś zagnieżdzony SELECT , albo z jakiś UNION :)

dzięki za wskazówkę

Pozdrawiam
wporzak

0

No właśnie , tak jak wspominałem , gdbybym zapragnął aby w wyniku pojawiła się jeszcze dodatkowa kolumna...

ale te dane juz pochodziłyby z innej tabeli (na szczęście o bardzo podobnej strukturze :
czyli mamy to samo co w pierszej tabeli ID ( wspólne dla wszytskich tabel , oraz K3 wg ktorego całość jest grupowana,
oraz jakieś inne dane które chciałbym zsumować np. sumę z pola 'pole_z_tabeli2'

czyli byłoby coś jakoś ...

SELECT k3, COUNT(k3), SUM(k1), SUM(k4), (select sum(pole_z_tabeli2) from tabela2) FROM tabela GROUP BY k3 

przy czym może się zdarzyć że pole_z_tabeli2 może mieć taką samą nazwę jak na przykład k1 z tabeli pierwszej
to wtedy potrzeba to jakoś rozróżnić... i tu się już chyba gubię :)

pamiętamy że całość ma być grupowana by K3

Dziękuje za pomoc
wporzak

1 użytkowników online, w tym zalogowanych: 0, gości: 1