powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли обойти правила сортировки в Union?
9 сообщений из 9, страница 1 из 1
Можно ли обойти правила сортировки в Union?
    #32862986
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно соединить две таблицы, но чтобы одна сортировалась по убыванию, а другая по возрастанию
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT Koordinat.X, Koordinat.Y
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region1) INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))
ORDER BY Koordinat.ID_Koordinat
UNION SELECT Koordinat.X, Koordinat.Y
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region2) INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))
ORDER BY Koordinat.ID_Koordinat DESC;
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863099
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, надо сделать вычисляемое поле и по нему нормально отсортировать. Или два поля.
Первое поле- в первой табличке 1, во второй 2
Второе поле- в первой Код, во второй -Код
Ну и сортируем по двум полям.
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863109
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сортируем либо во вложенном либо во внешнем (сохранённом) запросе, а их результаты уже объединяем.
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863125
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HummerСортируем либо во вложенном либо во внешнем (сохранённом) запросе, а их результаты уже объединяем.
Вложенные не проходят сортирует автоматом по первому столбцу несмотря на то что нет Order by, сохраненные скорее всего тоже не пройдут
склоняюсь к тому что предложил Shark.
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863140
ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT Koordinat.X, Koordinat.Y, ID_Koordinat as fob
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region1)
INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

UNION 

SELECT Koordinat.X, Koordinat.Y, -ID_Koordinat as fob
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region2) INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

ORDER BY fob;
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863148
ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы
Гость
а чтобы записи разных таблиц шли не в перемешку, можно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT Koordinat.X, Koordinat.Y,  0  as fob1, ID_Koordinat as fob2
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region1)
INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

UNION 

SELECT Koordinat.X, Koordinat.Y,  1 , -ID_Koordinat
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region2)
INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

ORDER BY fob1, fob2;
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863149
ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы
Гость
отстал на всю жизнь
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863160
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ыа чтобы записи разных таблиц шли не в перемешку, можно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT Koordinat.X, Koordinat.Y,  0  as fob1, ID_Koordinat as fob2
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region1)
INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

UNION 

SELECT Koordinat.X, Koordinat.Y,  1 , -ID_Koordinat
FROM (Region INNER JOIN Granicha ON Region.ID_Region = Granicha.C_Region2)
INNER JOIN Koordinat ON Granicha.ID_Granicha = Koordinat.C_Granicha
WHERE (((Region.Region)="Ивановская"))

ORDER BY fob1, fob2;

Именно это мне и нужно
поистине все гениальное просто
...
Рейтинг: 0 / 0
Можно ли обойти правила сортировки в Union?
    #32863924
Slider_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще-то по стандарту SQL после UNION в ORDER BY указываются номера полей, а не их наименования, т.к. наименования у кажого селекта могут быть разные.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли обойти правила сортировки в Union?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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