Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
24360



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |