Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Pobieranie rekordów wraz z najwyższą wartością z innej tabeli
The Night Shadow
post
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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
href
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 04:44