![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
zachodzę sobie w głowę jak powinno wyglądać dobrze napisane zapytanie do mysqla:
Są dwie tabele w których jest to samo ID, chce wyświetlić wszystkie rekordy , ale jeśli w drugiej tabeli jest to samo ID wyświetli się coś extra (np podświetlę , pogrubie sobie etc).
wyświetli nam tylko te gdzie relacja pomiędzy niby jest spójna. Natural Join też odpada. Dla samego połączenia tabel wystarczy:
a jak bym chciał w miejsce gwiazdki zrobić alias As podswietlenie ? Czyżby tak:
Ten post edytował casperii 11.06.2017, 19:06:26 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@nospor ok , racja:
powyższe pokaże mi Auto, A, C Rower Z, T A co jeśli w bazie miałbym tak: 1 | Auto 2 | Rower 3 | Samolot tabela2: id, adres, rodzaj 1 | www | B 1 | ww2 | C 2 | ww2 | Z 2 | ww2 | T i chciałbym też wyświetlić, samolot chociaż nie ma powiązania w tabeli 2 ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
@nospor ok , racja:
powyższe pokaże mi Auto, A, C Rower Z, T . . . i chciałbym też wyświetlić, samolot chociaż nie ma powiązania w tabeli 2 ? Ja to bym się spodziewał po wywołaniu tego zapytania błędu "Column 'id' in field list is ambiguous". Chyba masz jakieś specyficzne ustawienie środowiska, które ukrywa te błędy, skoro Ci w ogóle to zapytanie coś zwraca. @Pyton, nospor - dlaczego to zapytanie w ogóle działa? Ani SELECT ani GROUP BY w tym zapytaniu nie wiedzą po którym id mają grupować. U ciebie tak jakby domyślnie grupuje po ostatnim, czyli pomija ID z pierwszej tabeli. Daj GROUP BY tabela1.id i będzie hulało. W select'cie też sprecyzuj, o który id chodzi (tabela1 czy tabela2). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 11:20 |