Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie tabel
dyktek
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

Ostrzeżenie: (0%)
-----


Witam, mam tabele z jakimiś tam produkatami

Kod
---------prod------------
--id-----nazwa-----kat---



każdy produkt ma przypisaną kategorie i podaktegorie na zasadzie takiej id_kategori,id_podkategorii

czyli np. 3,4

no i chciałem wyciągnąć info o nazwie kategorii jedym zapytaniem

no i gdybym w polu kategoria miał zapisaną tylko jedną liczbe kategorii czyli np, 3
to robie mniej wiecej takie zapytanie
  1. SELECT id_prod, nazwa, kategoria
  2. FROM mod_produkty
  3. LEFT JOIN mod_kategorie ON mod_produkty.kategoria = mod_kategorie.id


no i teraz czy istnieje funkcja w mysql-u, która zadziała tak jak explode w php abym mogł sobie wyciągnąć ta kategorie na zasadzie LEFT JOIN
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


substring_index(pole,',',1)
wiecej ----> manual


--------------------

Go to the top of the page
+Quote Post
dyktek
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

Ostrzeżenie: (0%)
-----


wykorzystałem Twoją porade i wszystko działa fajnie tylko mam problem z uzyciem tej funkcji w LEFT JOIN-ie moje zapytanie wygląda tak

  1. SELECT id_prod, mod_kategorie.nazwa AS nazwa, mod_kategorie.nazwa AS nazwakat
  2. FROM `mod_produkty`
  3. LEFT JOIN `mod_kategorie` ON `mod_produkty.substring_index(kate,',',1)` = `mod_kategorie.id`


no i zwraca mi błąd Unknown column 'mod_produkty.substring_index(kate,',',1)' in 'on clause' czyli tak jakby ta funkcja się nie wykonywała, można jej uzyc w left joine w ten sposób?
Go to the top of the page
+Quote Post
elessar
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 12.05.2003
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Bo to masz zle, substring_index to jest funkcja mysql
  1. mod_produkty.substring_index(kate,',',1)


wiec jak juz to powinienes dac
  1. substring_index(mod_produkty.kate,',',1)


--------------------
..::elessar::..
Go to the top of the page
+Quote Post
dyktek
post
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

Ostrzeżenie: (0%)
-----


spoko dzięki działa smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:54