Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlanie kilku wierszy za pomocą jednej kwerendy
dragonsokol
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 23.06.2008

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


Witam. Posiadam następujący problem - wyszukuje pewne produkty za pomocą kwerendy
  1. SELECT * FROM `products` WHERE `id` IN (SELECT `promoted` FROM `promoted` WHERE `id` = 1);

`promoted` zapisuje w formacie zgodnym z formatem IN, tj. np. 10,13,15,16,17,18,20,21 .
Do niedawna działało wspaniale, niestety po którejś z aktualizacji MySQL taki sposób przestał działać i wyświetla się tylko jeden produkt (pierwszy w `promoted` czyli w przykładzie produkt o ID 10).
Co robić by uniknąć tego problemu i nie dzielić tego na dwie kwerendy i explode w PHP?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragonsokol
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 23.06.2008

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


W `promoted` mam produkty zapisane w postaci 1,2,3,4 (tj. oddzielonej przecinkami) i chcę wyszukać produkty, które są właśnie w tej kolumnie. Mogę zapisywać na inny sposób, jednakże muszą być w jednym wierszu by zachować spójność danych. Myślałem nad REGEXP, co wy na to?

Edit:
Udało się rozwiązać problem za pomocą FIND_IN_SET(). Pozdrawiam (IMG:style_emoticons/default/smile.gif)

Ten post edytował dragonsokol 1.06.2012, 22:04:15
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: 3.10.2025 - 12:25