Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите пожалуста с двухтабличным запросом
 
 автор: m@rchello   (04.05.2009 в 18:54)   письмо автору
 
 

доброго времени суток

имеем
таблицу связки меток с открытками 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


помогите пожалуста решить эту проблему =(

  Ответить  
 
 автор: Trianon   (04.05.2009 в 19:54)   письмо автору
 
   для: 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 
  ...

  Ответить  
 
 автор: m@rchello   (06.05.2009 в 13:04)   письмо автору
 
   для: Trianon   (04.05.2009 в 19:54)
 

спасибо большое.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования