Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mysql] Pobranie danych z 2 tabel, łaczenie w tabele...
Forum PHP.pl > Forum > Bazy danych > MySQL
slash^
Nie wiem jak nazwać to co chcę zrobic, dlatego nie wiem pod jakim pojęciem tego szukać.

Mam dwie tabele np.

tabela firma
id nazwa
1 - coca-cola
2 - pepsi-cola

tabela branze
firma branza
1 3
1 2
1 5
2 2

Tabeli firma nie bedę objaśniać, natomiast tabela branże odnosi się do tabeli 1. Kazda firma może być numerowo przypisana do wielu branż (pole firma to odnosnik do id w tabeli firma, a branza to id z jeszcze innej tabeli ale to juz mniej istotne).

Jak widac na powyzszym przykladzie firma id 1 ma przypisane 3 branze.

Jak powinno wyglądać zapytanie aby dane wyświetlić w np. takiej formie:

rekord:
array ( id = 1, nazwa = coca-cola, branze = array(3,2,5) )
lub cos podobnego?

nie wiem jak to ugryzc?
Damonsson
  1. SELECT id, nazwa, branza FROM firma
  2. LEFT JOIN branze ON firma = id

No, a później to już operacje na tablicach.
slash^
Nie dokładnie o to mi chodzi. Poradziłem sobie (choć połowicznie z GROUP_CONCAT), jeżeli ktoś przedstawi lepszy plan, chętnie zmienię smile.gif
Crozin
Cytat
[...] jeżeli ktoś przedstawi lepszy plan, chętnie zmienię
1. GROUP_CONCAT zda się jedynie w przypadku gdy będziesz chciał pobrać ID branż. Jeżeli będziesz chciał pobrać firmy oraz id i nazwę branży do jakiej przynależą to rozwiązanie będzie do niczego.
2. Jak już @Damonsson zauważył trzeba zrobić po prostu zwykłego JOINa, a następnie bawić się (dosyć prosto) w operacje z tablicami.
3. Oszczędź sobie masy czasu i skorzystaj z gotowego ORM-a (np. Doctrine), żeby nie bawić się każdorazowo w masochistyczne przetwarzanie wyników zwróconych przez PDO.
kallosz
Cytat(Crozin @ 7.03.2013, 15:18:46 ) *
3. Oszczędź sobie masy czasu i skorzystaj z gotowego ORM-a (np. Doctrine), żeby nie bawić się każdorazowo w masochistyczne przetwarzanie wyników zwróconych przez PDO.

ORM nie zawsze jest wart zachodu zwłaszcza że to ciężkie kombajny.
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-2024 Invision Power Services, Inc.