Въпрос за SELECT от MySQL

Илиян

Active Member
Здравейте, опитвам се да направя нещо, но не знам как точно да стане. Искам да извлека резултатите, когато има съвпадение между, но когато и от двете страни са по няколко стойности.

Например, ако искам да ми покаже само тези категории, в които присъства дадено id се прави така:
SELECT * FROM category WHERE category_id IN ($categories), като в $categories са записани например 1,2,3,4,5,6

В случая обаче, ми трябва да намеря съвпадението, когато category_id не е обикновено число, а там също са няколко стойности - например в category_id има 5,6,7,8,9 а в $categories има 1,2,3,4,5

Как да направя такова сравнение, с IN явно не става, понеже го пробвах и не вади нищо?
 
w00t?

category_id е име на поле... или ти искаш да правиш FTS ако нещо го има във 1 или повече полета?
 
category_id е името на колоната в базата, а $categories е променлива и искам да покаже само тези редове, в които има съвпадение. Ако в category_id беше само едно число става с IN, но като са повече не става така.
 
Нямам идея защо ти е такова негърско нещо, ноооо ....
Код:
SELECT * FROM category
WHERE category_id[0] IN ($categories) OR
category_id[1] IN ($categories) OR
..
category_id[n] IN ($categories)
 
хм, странното е че сега работи, а преди малко не искаше - WHERE category_id IN ($categories)
 
Променлива е, бях написал по-горе, но както и да е. Вече работи, явно в началото нещо се е бъгнало и не сработваше.
Знам, че е променлива, питах какво има в нея и от какъв тип е.
 
и в променливата и в базата са числа, разделени със запетая
В базата имате стринг от числа разделени със запетая? Ако е така то е добре да почетете за релации.
 

Горе