|
|
|
| доброго времени суток
имеем
таблицу связки меток с открытками m_card_mark
поля
id_card - порядковый номер открытки
id_kategory - порядковый номер категории
|
таблицу открыток m_card
id - порядковый номер открытки
name - название открытки
preview - изображение открытки
date - дата загрузки открытки
stat - статус(1- открытка показывается, 0 не показывается)
и некоторые другие поля которые не учавствуют в запросе
|
Задача
Получить записи открыток которые принадлежат метке(`m_card_mark`.`id_kategory`) 1 с этим проблем не возникло, решил так
SELECT `m_card`.`id`,`m_card`.`name`,`m_card`.`preview`
FROM `m_card`,`m_card_mark`
WHERE `m_card_mark`.`id_kategory`='1' AND `m_card`.`stat`='1' AND `m_card_mark`.`id_card`=`m_card`.`id`
ORDER BY `m_card`.`date` DESC LIMIT 0,20
|
возникла проблема с получением данных принадлежащих двум меткам, тоесть нужно выбрать все записи принадлежащие метке(`m_card_mark`.`id_kategory`) 1, но при этом они ещё и должны (записи) принадлежать метке(`m_card_mark`.`id_kategory`) 3, тоесть главная метка это 1 второстепенная(ограничивающая) это 3.
Попробовал так, но естевственно ничего не вышло
SELECT `m_card`.`id`,`m_card`.`name`,`m_card`.`preview`
FROM `m_card`,`m_card_mark`
WHERE `m_card_mark`.`id_kategory`='1' AND `m_card_mark`.`id_kategory`='3' AND `m_card`.`stat`='1' AND `m_card_mark`.`id_card`=`m_card`.`id`
ORDER BY `m_card`.`date` DESC LIMIT 0,20
|
помогите пожалуста решить эту проблему =( | |
|
|
|
|
|
|
|
для: m@rchello
(04.05.2009 в 18:54)
| |
SELECT с.*
FROM m_card с
JOIN m_card_mark m1 ON c.id = m1.id_card AND m1.id_kategory = 1
JOIN m_card_mark m3 ON c.id = m3.id_card AND m3.id_kategory = 3
WHERE c.stat = 1
...
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 19:54)
| | спасибо большое. | |
|
|
|