![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 6 Dołączył: 24.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam pewien problem z zapytaniem:
I problem jest następujący. Jeżeli mam np. 10 ocen w tabeli rating to tak samo wyświetla mi 10 rekordów z tabeli comments. Myśle nad tym i myślę ale nie mam pomysłu jak te dwie tabele rozdzielić bo niby rozdzielone są:
Ale zastanawiam się czy tu nie jest problemem ta sama nazwa indexu w dwóch różnych tabelach? Z góry dzięki za pomoc. Ten post edytował valkirek 12.03.2014, 20:25:04 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
"LIMIT 0,10" oznacza "pokaż pierwsze 10 wyników"
Co oznacza 'chcę rozdzielić' ? Ten post edytował timon27 12.03.2014, 20:36:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Jak chcesz rozdzielić, to rozdziel to na dwa zapytania. Dostajesz 10 wierszową równą tabelę zawsze. Nie da się dla różnych kolumn ustalić różnej ilości wierszy (najwyżej dostaniesz NULLa, ale zawsze ten wiersz będzie), chyba, że ja mam jakieś braki w wiedzy. Albo nie zrozumiałem o co chodzi, to jakiś przykład na sqlfiddle może rzuć.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 6 Dołączył: 24.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Timon27: LIMIT nie ma nic do rzeczy
Damonsson: Nie mogę rozdzielić tego na dwa zapytania bo wszystko leci w pętli a jak dam jedno zapytanie do pętli to będzie to niewydajne. Chodzi mi o to aby przy zdjęciu wyświetlało ilość komentarzy z tabeli comments "count(b.idPhotos) AS counterComm)" i średnia ocena z tabeli rating "avg(d.rating) AS average" Jeśli wyświetlam przy zdjęciach same komentarze z count() to nie ma problemu a jeżeli dodam avg() i left join z tabela rating to wyświetla mi ilość komentarzy taką, jaka jest ilość głosów w tabeli rating. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
to wyciągaj to podzapytaniem
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 6 Dołączył: 24.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Sazian ale kombinuje i nie bardzo mi to wychodzi a z podzapytaniami to nie bardzo miałem doświadczenia. Teraz ciągle mam błąd o braku aliasu average albo mam brak rekordów całkowicie.
Może ktoś podać przykład jak takie zapytanie ma wyglądać? P.S. Czemu moje rozwiązanie nie może wyświetlić poprawnych wyników? Więc ktoś pomoże czy nie? Ten post edytował valkirek 13.03.2014, 21:09:05 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Z palca |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 6 Dołączył: 24.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki kolego.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.08.2025 - 18:56 |