mysql можно ли? (подробнее в нутри)
воопщем дела обстоят так:
Цитата:
SELECT `row1`,`row2` FROM `table` WHERE `category` = '2' OR `category` = '5' OR `category` = '8' OR `category` = '17' OR `category` = '666'
воопщем видите мне нужно прописывать постоянно какие категории через AND !!! этих категорий может быть хоть 1, хоть 20 разных и если использовать все 20 или 19 из них код получается большим :(((( плюс скорее всего подобного рода контрукции еще и негативно сказываются на производительности!
меня интересует - можели както через запятую выставить все возможные значения поля category
тоесть примерно так:
Цитата:
SELECT `row1`,`row2` FROM `table` WHERE `category` = 2||5||8||17||666
или так:
Цитата:
SELECT `row1`,`row2` FROM `table` WHERE `category` = 2,5,8,17,666
тоесть просто через какойто разделитель вписать воможные значения поля!
Я надеюсь понятно изложил ход своего вопроса =)
См. типы SET и ENUM в MySql, и принципы их работы
SELECT row1, row2 FROM table WHERE category IN (1, 39, 120, .... n)
Только IN подходит для множества, объединенного как OR, а вам же надо было AND.
Цитата: UAS
о_О Я сам изначально хотел дать IN.
Только IN подходит для множества, объединенного как OR, а вам же надо было AND.
Только IN подходит для множества, объединенного как OR, а вам же надо было AND.
А вот если у него будет AND, то в случае случайного отсутствия по каким-либо причинам одного идентификатора, ему NULL вернётся, а с OR вернутся все, кто TRUE. ;)
но в примерах нижу я насал что именно или ))))) только про IN незнал
как говориться правильно заданный вопрос 50% ответа, а я к сожелению задал его неверно :(