powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ошибка при использовании UNION
2 сообщений из 2, страница 1 из 1
ошибка при использовании UNION
    #32718908
\/lad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Народ, помогите решить задачку
Если я делаю такой запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
(SELECT ALL j.JID, j.JDate, js.Name, j.amount, jl.JobLocation, cst.Name, j.QuantityPrints,
j.Mileage
FROM jobs j LEFT JOIN job_status js ON (js.Jsld = j.Status)
LEFT JOIN customers c ON (j.CID = c.CID) LEFT JOIN company cst ON (c.CmpId = cst.CmpId)
LEFT JOIN job_location jl ON (jl.jlid = j.OfficeLocation_id)
WHERE (j.InOffice = 'true') AND (c.CTId =  1 )  AND ( (j.Status =  1 )  OR (j.Status =  2 )
OR (j.Status =  3 )  OR (j.Status =  4 )  OR (j.Status =  5 ) ) )

все в порядке

но если добовляю к нему еще 1 запросик, поле cst.Name = NULL

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
(SELECT ALL j.JID, j.JDate, js.Name, j.amount, jl.JobLocation, cst.Name, j.QuantityPrints,
j.Mileage
FROM jobs j LEFT JOIN job_status js ON (js.Jsld = j.Status)
LEFT JOIN customers c ON (j.CID = c.CID) LEFT JOIN company cst ON (c.CmpId = cst.CmpId)
LEFT JOIN job_location jl ON (jl.jlid = j.OfficeLocation_id)
WHERE (j.InOffice = 'true') AND (c.CTId =  1 )  AND ( (j.Status =  1 )  OR (j.Status =  2 )
OR (j.Status =  3 )  OR (j.Status =  4 )  OR (j.Status =  5 ) ) )

UNION

(SELECT ALL j.JID,j.JDate, js.Name, j.amount, j.MobileLocation, cst.Name, j.QuantityPrints,
j.Mileage
FROM jobs j LEFT JOIN job_status js ON (js.Jsld = j.Status)
LEFT JOIN customers c ON (j.CID = c.CID) LEFT JOIN person cst ON (c.PersId = cst.PersId)
WHERE (j.InOffice = 'false') AND (c.CTId =  3 )  AND ( (j.Status =  1 )  OR (j.Status =  2 )
OR (j.Status =  3 )  OR (j.Status =  4 )  OR (j.Status = 5 ) ) )

в чем может быть проблемма?
...
Рейтинг: 0 / 0
ошибка при использовании UNION
    #32718994
\/lad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже подсказали, надо во всех запросах сделать разные псевдонимы таблиц, тады работает
например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT ALL j.JID, j.JDate, js.Name, j.amount, jl.JobLocation, cst.Name, j.QuantityPrints,
 j.Mileage
 FROM jobs j LEFT JOIN job_status js ON (js.Jsld = j.Status)
 LEFT JOIN customers c ON (j.CID = c.CID) LEFT JOIN company cst ON (c.CmpId = cst.CmpId)
 LEFT JOIN job_location jl ON (jl.jlid = j.OfficeLocation_id)
 WHERE (j.InOffice = 'true') AND (c.CTId =  1 )  AND ( (j.Status =  1 )  OR (j.Status =  2 )
 OR (j.Status =  3 )  OR (j.Status =  4 )  OR (j.Status =  5 ) )
 union
 SELECT all j2.JID,j2.JDate, js2.Name, j2.amount, j2.MobileLocation, cst2.Name, j2.QuantityPrints,
 j2.Mileage
 FROM jobs j2 LEFT JOIN job_status js2 ON (js2.Jsld = j2.Status)
 LEFT JOIN customers c2 ON (j2.CID = c2.CID) LEFT JOIN person cst2 ON (c2.PersId = cst2.PersId)
 WHERE (j2.InOffice = 'false') AND (c2.CTId =  3 )  AND ( (j2.Status =  1 )  OR (j2.Status =  2 )
 OR (j2.Status =  3 )  OR (j2.Status =  4 )  OR (j2.Status = 5 ) )
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ошибка при использовании UNION
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]