Задавайте вопросы, мы ответим
Вы не зашли.
доброе время суток
мой вопрос может вам показаться банальным, но долго искал в нете, но так и не нашел нужный ответ.
есть таблица tags:
tag item_id
..........................
flash 3
drive 3
flash 13
drive 13
flash 8
drive 9
cpu 10
flash 1
drive 1
usb 1
нужно найти все item_id, у которых tag=flash или tag=drive, но так что б item_id не повторялось, т.е. что нужно добавить в этот запрос
select * from tags where tag='flash' or tag='drive' limit x, y
заранее спасибо за помощь!
Неактивен
SELECT distinct `item_id` FROM `tags` WHERE `tag` IN ('flash', 'drive');
Оно?
Неактивен
кажеться да. спасибо!
Неактивен
извиняюсь что проснулся аж щас после нескольких месяцев пропажи... вообщем я изначально не правильно задал вопрос.
было:
Syegorius написал:
нужно найти все item_id, у которых tag=flash или tag=drive, но так что б item_id не повторялось
на самом деле правильно вопрос звучал бы так:
нужно найти все item_id, у которых tag=flash и tag=drive, но так что б item_id не повторялось.
если все еще тема актуальна пожалуйста подскажите как правильно написать запрос для таблицы вверху.
заранее спасибо!
Отредактированно Syegorius (24.12.2012 21:42:10)
Неактивен
Если комбинация (tag, item_id) уникальна, то
Неактивен
но если я правильно понял выражение, то тогда этот запрос подойдет только для тех случаев, когда требуется взять сразу все совпадения.
я имею в виду, что данный запрос мне нужен для того, что бы искать товары в базе по запросу клиента и если допустим по его запросу будет 100 товаров, а на странице выводится только по 20, то как мне потом указать, что искать нужно только по 20 товаров и с какого-то определенного места?
Неактивен
Неактивен
а. хотя извиняюсь! это был глупый вопрос. я все понял.
спасибо за помощь!
Неактивен