







|
MySQL.RU - Webboard
Вернуться
Как связать таблицу, если в другой таблице... (Дмитрий из Эстонии) 17/10/2007 - 19:28:55
From: Дмитрий из Эстонии - 17/10/2007 - 19:28:55
Subject:Как связать таблицу, если в другой таблице...
-----------------
Краткое описание проблемы:
Есть таблица doors_lift_heights из которой мне бы хотелось выбрать все данные, в независимости от того, есть ли в таблице doors_lifts2sizes записи по lift_id = ? или нет. Указание lift_id - очень важно. lift_id IS NULL не срабатывает - скорее всего потому что если в таблице которая связывается через LEFT JOIN данных после связки = 0, то колонки вообще никак не определяются.
В общем если коротко, требуется выбрать все данные из таблицы doors_lift_heights внезависимости от того, есть ли в doors_lifts2sizes или нет.
Есть запрос:
SELECT doors_lift_heights.*,
GROUP_CONCAT(lift_width_id ORDER BY lift_width_to ASC) AS widths
FROM doors_lift_heights
LEFT JOIN doors_lifts2sizes USING(lift_height_id)
LEFT JOIN doors_lift_widths USING(lift_width_id)
WHERE (lift_id = ? OR lift_id IS NULL)
GROUP BY lift_height_id
ORDER BY lift_height_to ASC
И есть таблицы:
doors_lifts2sizes CREATE TABLE `doors_lifts2sizes` (
`lift_id` int(11) NOT NULL,
`lift_width_id` int(11) NOT NULL,
`lift_height_id` int(11) NOT NULL,
KEY `lift_id` (`lift_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
doors_lift_heights CREATE TABLE `doors_lift_heights` (
`lift_height_id` int(11) NOT NULL auto_increment,
`lift_height_from` int(11) NOT NULL,
`lift_height_to` int(11) NOT NULL,
PRIMARY KEY (`lift_height_id`),
KEY `lift_height_from` (`lift_height_from`),
KEY `lift_height_to` (`lift_height_to`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
doors_lift_widths CREATE TABLE `doors_lift_widths` (
`lift_width_id` int(11) NOT NULL auto_increment,
`lift_width_to` int(11) NOT NULL,
PRIMARY KEY (`lift_width_id`),
KEY `lift_width_to` (`lift_width_to`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8
doors_lifts CREATE TABLE `doors_lifts` (
`lift_id` int(11) NOT NULL auto_increment
PRIMARY KEY (`lift_id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8
Заранее благодарен!
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
32331
|
|