Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Join a ilość rekordów - problem
rzymek01
post
Post #1





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


Witam!

Skonstruowałem sobie zapytanie:

  1. 'SELECT c.name
  2. FROM '.PX.'categories as c
  3. LEFT JOIN '.PX.'categories as c2 ON c2.id = '.$cid.'
  4. LEFT JOIN '.PX.'maincat as mc ON mc.id = c2.maincat_id
  5. WHERE c.id IN (SUBSTRING_INDEX(mc.children_ids, CONCAT(",", "'.$cid.'"), 1))';


zakładając, że $cid to 5 i że wynikiem funkcji SUBSTRING_INDEX jest `1,3,4`, uproszczam zapytanie do:
  1. 'SELECT c.name
  2. FROM categories as c
  3. LEFT JOIN categories as c2 ON c2.id = 5
  4. LEFT JOIN maincat as mc ON mc.id = c2.maincat_id
  5. WHERE c.id IN (1,3,4)';


i teraz działa, lecz jak znowu zamienię 1,3,4 na SUBSTRING_INDEX(mc.children_ids, CONCAT(",", "'.$cid.'"), 1), którego wynikiem też jest 1,3,4 to pokazuje tylko jeden rekord zamiast 3...



Pozdrawiam i z góry dziękuję!

Ten post edytował rzymek01 26.05.2008, 15:15:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzymek01
post
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


nie rozumiem co mam zrobić z instr, który zwraca tylko pozycję znalezionego podciągu (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

edit:
jest coś takiego w mysql jak eval w php? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował rzymek01 26.05.2008, 20:43:35
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 11:37