Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Relacje pomiędzy dwoma tabelami - CONCAT czy coś innego?
Forum PHP.pl > Forum > Przedszkole
casperii
Panowie zastanawiam się jak wykonać zapytanie:

Mamy tabelke np autka oraz dokumentacja:

autka:
id,
ids,
date,
marka,
kolor,

dokumentacja:
id,
ids,
date,
cena,
nazwisko,
opis,

Chce teraz wyświetlić listę w danym miesiącu np auta bmw co i kto w nim robił ?
Dane autko (ids) może być w danym dniu wypożyczone więcej niż raz.

Przykładowa tabele:
autka:
1,10, 2017-07-28, bmw, białe
1,10, 2017-07-29, bmw, czarne

dokumentacja:
1, 10, 2017-07-29, 10.00, Kowalski, umyłem
2, 10, 2017-07-29, 10,00, Kowalski, odkurzyłem

czyli jeśli wyszukam sobie:

  1. ... where nazwisko = kowalski and month(`date`) = 07 and year(`date`) = 2017


To zobaczę:
BMW białe | 2017-07-29 |
BMW czarne | 2017-07-29 | Kowalski | umył za 10, odkurzył za 10

Jak widać powyżej jeśli w dokumentacji nie ma wpisu dla danego autka (ids) to i tak na liście ma się pojawić BMW ponieważ ma też inne wartości
Ktoś ma pomysł jak optymalnie powinno wyglądać zapytanie.

Na upartego mogę każdy dzień wrzucać w pętle i przeszukiwać w dokumentacji - ale to raczej nie tak powinno być,
concat też nie jestem pewien czy tak powinno być:

  1. SELECT a.ids, a.date, a.marka, a.kolor, GROUP_CONCAT(CONCAT(d.cena, " # ", `d`.`nazwisko`) ORDER BY `d`.`account` ASC SEPARATOR ", ") AS test FROM autka AS d
  2. LEFT JOIN dokumentacja AS d ON `d`.`date` = `a`.`date`
trueblue
Coś podobnego:
Temat: MySQLPHP Wyszukiwanie nieistniejacych danych z DRUGIEJ
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.