Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie laczace dwie tabele...
Forum PHP.pl > Forum > Przedszkole
wentr0
Witajcie.

Potrzebuje zapytania mysql ktore pozwoli mi wyswietlic dane z innej tabeli operujac na drugiej tabeli.

Dokladnie chodzi mi o to - mam tabele artykuly(id, KAT, nazwa, tresc) oraz kategorie(id, nazwa)

Pobieram sobie zapytaniem artykuly i chcialbym zeby identyfikowalo mi nazwe kategorii danego artykulu po kluczu KAT. Mysle ze trzeba tu zrobic jakis left join albo right join.
Niestety nigdy nie korzystalem z takich zaawansowanych zapytan, operowalem na prostych zapytaniach. Teraz mi to wyszlo tak jakos wiec prosze was o jakiekolwiek wskazowki tudziez kawalek zapytania winksmiley.jpg
wentr0
Podaleś mi link raczej nie do tego o co mi chodzi

  1. INSERT INTO tbl_temp2 (fld_id)
  2. SELECT tbl_temp1.fld_order_id
  3. FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;


Ja nie chce nic umieszczac w bazie danych. Tylko pobrac nazwe kategori (ktora jest w tabeli kategorie) operujac aktualnie na tabeli artykuly (w ktorej KAT to id kategorii).
erix
Wybacz, mój błąd...

Kod
SELECT artykuly.*, kategorie.nazwa as kategoria FROM artykuly INNER JOIN kategorie ON artykuly.kat=kategorie.id
wentr0
Dzięki bardzo winksmiley.jpg Proszę o przydzielenie @erixowi punktów pomógłexclamation.gif!

Jeszcze jedna sprawa.. Moglbys mi to po krotce wytlumaczyc?? Chcialbym zrozumiec i nie pytac wiecej winksmiley.jpg

Co to jest to:
Kod
kategorie.nazwa as kategoria

I to:
Kod
artykuly.kat=kategorie.id



Bo mi wyskakuje taki error:

Cytat
Unknown column 'artykuly.kat' in 'on clause'

Kolumne w bazie danych taka posiadam w tabeli artykuly
erix
AS stanowi alias dla nazwy kolumny; tutaj musiałbyś się długą nazwą odwoływać <tabela>.<kolumna>

Cytat
I to:

Klucze wg których nastąpi złączenie. Zostanie poszukany rekord z tabeli kategorie o id równym wartości z kolumny kat tabeli artykuly.

Cytat
Kolumne w bazie danych taka posiadam w tabeli artykuly

A nie chodzi o przypadkiem wielkość znaków w nazwie?

edit
http://forumphp.nq.pl/index.php?s=&sho...st&p=378847
wentr0
Dzięki.

Cytat
A nie chodzi o przypadkiem wielkość znaków w nazwie?


Raczej nie. Znalazlem cos takiego : http://forumphp.nq.pl/index.php?s=&sho...st&p=220239

Chodzi o to ze w Mysql4 dziala ok tylko ze w MySQL5 juz nie...

Tylko nie bardzo wiem jak te nawiasy zastosowac w tym zapytaniu.

OK zapytanie już mi działa ale mam jeszcze jeden problem poniewaz nie wiem jak dolaczyc do tego zapytania dodatkowe zapytanie:

1 zapytanie:

  1. SELECT artykuly.*, kategorie.nazwa AS pokaz_nazwe_kategorii FROM artykuly INNER JOIN kategorie ON artykuly.kat=kategorie.id


i chcialbym do niego dodac dodatkowe ponizej(to zapytanie dotyczy pobierania artykulow):

  1. WHERE `aktywny` = '1' ORDER BY `wysw` DESC LIMIT 5


Jak to polaczyc? Bo gdy dokleje na koniec 1 zapytania to nic sie nie robi ;/
wentr0
Próbowałem już też tak ale bez skutku ;/

  1. SELECT artykuly.*, kategorie.nazwa AS pokaz_nazwe_kategorii FROM artykuly INNER JOIN kategorie ON artykuly.kat=kategorie.id WHERE artykuly.aktywny = 1 ORDER BY artykuly.wysw DESC LIMIT 5
erix
Gdzieś było ostatnio na Forum, tylko nie pamiętam gdzie; pilnuj wielkość znaków przy nazwach kolumn.
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.