Wpis z mikrobloga

szybkie pytanie! chciałbym z 4 tabel sql wydobyć podstawowe informacje (poprzez grupowanie by nie duplikować wierszy)
oraz dodać do widoku 2 kolumny zliczające COUNT
1 z nich filtrowałaby wyniki z id 16
druga z nich filtrowałaby wyniki z id 8

jak to zrobić w widoku? mogę zrobić tylko 1 filtr i nie mogę dojść do tego jak to zrobić.
chyba że widok nie umożliwia takich kolumn?

SELECT dbo.z_producenci.producent, dbo.z_proformy.data_proformy, COUNT(dbo.z_statusy.id_status) AS ile_zam_lacznie, dbo.z_statusy.id_status
FROM dbo.z_producenci INNER JOIN
dbo.z_proformy ON dbo.z_producenci.id_producent = dbo.z_proformy.id_producent INNER JOIN
dbo.z_zamowienia ON dbo.z_producenci.id_producent = dbo.z_zamowienia.id_producent AND dbo.z_proformy.id_proformy = dbo.z_zamowienia.id_proformy INNER JOIN
dbo.z_statusy ON dbo.z_zamowienia.id_status = dbo.z_statusy.id_status
GROUP BY dbo.z_producenci.producent, dbo.z_proformy.data_proformy, dbo.z_statusy.id_status
HAVING (dbo.z_statusy.id_status = 16)

#mysql #sql #bazydanych
  • 8
  • Odpowiedz
@mosqua: hmm... czyli zrobić 2 widoki przefiltrowane tak jak chcę a potem zliczania ich już 2 głównym widoku? hmm już sprawdzam jak to będzie śmigało :D dzięki za jakiś hint
  • Odpowiedz
@janek_: okeeey! za podpowiedzią kolegi wyżej zrobiłem 2 widoki i użyłem ich wyników do połączenia w 1 widok, na pewno to jest bardzo na około wg. sztuki sql (tak mi się wydaje :D )

dzięki za zakodowanie query, że Ci się chciało wgłębiać!
ale jak coś to pokazuje taki błąd i nie bardzo wiem czemu :D

Msg 4104, Level 16, State 1,
  • Odpowiedz
@ShpxLbh: racja, tam w czwartej linii miało być po prostu , COUNT(1) as ile_wierszy_wszystkie - przy przeklejaniu mi się pokręciło (tak to jest jak się piszę sqla na sucho)
  • Odpowiedz