powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Union с приоритетом
3 сообщений из 3, страница 1 из 1
Union с приоритетом
    #39621603
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Есть задача.
Три выборки, объединены union.
Нужно выбрать два поля ID и тип.
Тип обзывается в зависимости от того из какой выборки попал ID.
Собственно вот:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select DISTINCT(ID), 'Текст1' as Type from Table1 t1
where t1.ClientID=123
union
select DISTINCT(ID), 'Текст2' as Type from Table2 t2
where t2.ClientID=123
union
select DISTINCT(ID), 'Текст3' as Type from Table3 t3
where t3.ClientID=123



НО! Нужно чтобы приоритетно тип отображался.
Т.е. если ID есть во всех трех выборках, то должен отображаться "Текст1".
Если первой и второй, то тоже "Текст1". Если во второй и третьей, то "Текст2".

В t-sql это можно вложенным запросом как-то сделать, а тут как можно?
...
Рейтинг: 0 / 0
Union с приоритетом
    #39621605
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FAQ по выборке первого в группе - читать...
...
Рейтинг: 0 / 0
Union с приоритетом
    #39621606
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно для этих значений поля Type можно так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT id, MIN(type) FROM
(select ID, 'Текст1' as Type from Table1 t1
where t1.ClientID=123
UNION ALL
select ID, 'Текст2' as Type from Table2 t2
where t2.ClientID=123
UNION ALL
select ID, 'Текст3' as Type from Table3 t3
where t3.ClientID=123) t
GROUP BY id

Для других возможный варианты.
А лучше заменить на числа 1,2,3.

И что за странное написание DISTINCT(ID) ?
DISTINCT - это не функция.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Union с приоритетом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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