![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 495 Pomógł: 2 Dołączył: 5.02.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie pobiera z bazy danych wszystkie rekordy spełniające określone warunki. Każdy rekord ma swój indywidualny numer ID.
Przykłąd: Tabela: X Kolumny: X.id, X.nazwa Tabela: Y Kolumny Y.id, Y.id_x, Y.ilosc, Y.data W jaki sposób pobrać w jednym zapytaniu wszystkie rekordy z tabeli X, a zarazem dołączyć do każdego maksymalną ilosc z tabeli Y, oraz ogólną ilość rekordów przyporządkowanych z tabeli Y d tego rekordu? Mogę to zrobić na piechotę w dwóch zapytaniach, ale zależy mi na sortowaniu... Zastanawiam się, czy to w ogóle jest możliwe... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT *, (SELECT SUM(ilosc) FROM Y WHERE Y.id_x = X.id) AS suma FROM X WHERE suma IS NOT NULL ORDER BY suma UNION SELECT *, suma FROM X WHERE suma IS NULL; mozna tez wywalic puste wyniki: Kod SELECT *, (SELECT SUM(ilosc) FROM Y WHERE Y.id_x = X.id) AS suma FROM X WHERE suma IS NOT NULL ORDER BY suma;
Ten post edytował href 30.04.2007, 09:46:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 04:44 |