|
MySQL.RU - Webboard
Вернуться
MySql сложный запрос с JOIN с сортировкой (amixen) 09/10/2005 - 13:56:22
Re: MySql сложный запрос с JOIN с сортировкой (Dinky) 11/10/2005 - 19:43:30
From: amixen - 09/10/2005 - 13:56:22
Subject:MySql сложный запрос с JOIN с сортировкой
-----------------
Приветствую люди!
Разрабатывая свой проект столкнулся с траблой и пока не нашел решения...
Есть:
таблица subdomains (домены),
таблица languages (языки и сообщения),
таблица settings (тут хранятся свойства).
CREATE TABLE `light_subdomains` (
`id` int(11) NOT NULL auto_increment,
`subdomain` varchar(25) NOT NULL default '',
`posted` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `light_settings` (
`id` int(11) NOT NULL auto_increment,
`field_id` int(11) NOT NULL default '0',
`phones` varchar(20) NOT NULL default '',
`fax` varchar(20) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Обязательно надо обращаться к таблице languages во всех запросах, так-как там лежат слова и предложения и много чего другого... Поэтому я делаю сложный запрос с использованием JOIN.
Задача:
взять из базы данные по доменам (таблица subdomains), потом в таком же порядке (по ID-шникам) взять данные из таблица settings.
Я сначала вытаскиваю данные из таблицы subdomains:
[sql]SELECT * FROM light_subdomains AS t ORDER BY t.subdomain[/sql]
id subdomain
3 `bbb`
4 `ddd`
2 `zzz`
Потом из таблицы settings (мне нужно было возвращать строки с данными в том же порядке, с сортировкой по field_id):
[sql]
SELECT t.*, light_languages.*
FROM light_settings AS t
LEFT JOIN light_languages ON light_languages.field_id=t.id
WHERE t.id IS NOT NULL AND t.field_id IN (3,4,2)
[/sql]
Но ессесно второй запрос возвращает данные не в том порядке в котором должен!
Можно не трогая первый запрос во втором какимто образом указать принудительную сортировку (где field_id=3, потом=4, потом=2) ???
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
24360
|
|