![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 3 Dołączył: 11.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam zapytanie z podzapytaniem, w których pobieram dane z tabeli kategorii wraz z ilością tematów w tej kategorii
"SELECT @A:=id,name,description, (SELECT COUNT(id) FROM topics WHERE category = @A) AS all_rows FROM categories" W związku z tym, że w tabeli categories doszło mi kilka kolumn chciałbym uniknąć wypisywanie w selekcie nazw ich wszystkich. Próbowałem "SELECT *,@A:=id, (SELECT COUNT(id) FROM topics WHERE category = @A) AS all_rows FROM categories" i niby działa ale tworzy mi wtedy zupełnie nie potrzebnie zduplikowaną kolumnę id pod nazwą, "@A:id". Jakaś podpowiedź jak skonstruować zapytanie aby pobierać wszystkie kolumny z categories, jednocześnie dalej liczyć ilosć tematów z danej kategorii, ale bez wypisywania nazw wszystkich kolumn do pobrania? @Edit: już wykminiłem: "SELECT c.*, (SELECT COUNT(id) FROM topics WHERE category = c.id) AS all_rows FROM categories AS c" chyba, że można jeszcze lepiej (IMG:style_emoticons/default/smile.gif) Ten post edytował RysQ 12.06.2015, 01:39:59 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 3 Dołączył: 11.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie mmmmmmm wydaje mi się dużo bardziej skomplikowane niż to, które przedstawiłem.
No ale skoro uważacie, że tak jest lepiej to nie będę się kłócił (IMG:style_emoticons/default/tongue.gif) Ps żeby nie zakładać nowego tematu, który Pewnie nadawał by się do przedszkola. Zastanawia mnie komunikat jaki zwraca MySql w przypadku tych dwóch zapytań
komunikat: Zapytanie SQL zostało wykonane pomyślnie
komunikat: Showing rows 0 - 1 (2 total, Wykonanie zapytania trwało 0.0000 sekund(y)) - czyli taki standardowy, że tak powiem (IMG:style_emoticons/default/tongue.gif) Skąd wynika ta różnica? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 17:59 |