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

Форум MySQL

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

 

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

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

тема: Помогите написать правильно запрос
 
 автор: Mikasto   (25.09.2007 в 18:27)   письмо автору
 
 

SELECT
c.id card,
b.name b_name,
b.document_url b_url,
ug.id_package,
o.id,
o.title,
o.description,
o.telephone,
o.publish_site,
o.date_create,
o.city adress,
s.domain site
FROM `usage_groups` ug
STRAIGHT_JOIN `organizations` o ON ug.`id_organization` = o.id
STRAIGHT_JOIN `cards` c ON o.id = c.`id_organization`
STRAIGHT_JOIN links l ON o.id = l.`id_organization`
STRAIGHT_JOIN `usage` u ON l.`id_usage` = u.`id`
STRAIGHT_JOIN `businesses` b ON b.id = l.id_business
STRAIGHT_JOIN `sites` s ON o.id = s.id_organization
LEFT JOIN `businesses` b2 ON b2.`id` = b.`id_parent`
LEFT JOIN `businesses` b3 ON b3.`id` = b2.`id_parent`
LEFT JOIN `businesses` b4 ON b4.`id` = b3.`id_parent`
WHERE o.publish = 'Y'
AND (
l.`id_business` = 189
OR b.`id_parent` = 189
OR b2.`id_parent` = 189
OR b3.`id_parent` = 189
OR b4.`id_parent` = 189
)
GROUP BY ug.`id_organization`
ORDER BY ug.id_package DESC, o.date_create

UNION ALL

SELECT
NULL card,
b.`name` b_name,
b.`document_url` b_url,
NULL id_package,
'' id,
ow.OrgName title,
'' description,
ow.Telephone telephone,
'' publish_site,
NULL date_create,
ow.Adress adress,
NULL site
FROM orgs_wait ow
LEFT JOIN orgs_wait_cards owc ON ow.DocID = owc.DocID
JOIN `businesses` b ON b.id = ow.`id_business`
LEFT JOIN `businesses` b2 ON b2.`id` = b.`id_parent`
LEFT JOIN `businesses` b3 ON b3.`id` = b2.`id_parent`
LEFT JOIN `businesses` b4 ON b4.`id` = b3.`id_parent`
LEFT JOIN regions r1 ON r1.id = ow.id_region
LEFT JOIN regions r2 ON r2.id = r1.id_parent
WHERE
(
owc.id_card IS NULL
OR
ow.`Status` IN (12, 13)
)
AND 189 IN (
ow.`id_business`,
b.`id_parent`,
b2.`id_parent`,
b3.`id_parent`,
b4.`id_parent`
)
AND 123 IN (
ow.id_region,
r1.id_parent,
r2.id_parent
)

LIMIT 0, 10

ERROR 1221 (HY000): Incorrect usage of UNION and ORDER BY

Хочется чтобы в первом запросе выполнялась сортировка а второй просто приклеивался при нехватке 10 элементов.

   
 
 автор: oradev   (26.09.2007 в 00:22)   письмо автору
 
   для: Mikasto   (25.09.2007 в 18:27)
 

Mikasto, читаем про UNION и UNION ALL.

   
Rambler's Top100
вверх

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