сортировка составной таблицы

Автор Сергей, 16 мая 2021, 05:01

0 Пользователи и 1 гость просматривают эту тему.

Сергей

Есть две таблицы, связанные внешним ключом. Форма сделана в виде таблицы, в соответствующем столбце которой список из второй таблицы. (во вложении)
Мне требуется отсортировать записи сначала по названию организации, а внутри каждой организации по фамилиям. Как это сделать?
Если задать ORDER BY "Организация", "Фамилия", то сортировка пойдет по полю ID таблицы "Организации", а мне нужно по наименованию.

economist

ORDER BY "Организации.Наименование", "Фамилия"

Приведите запрос целиком
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Сергей


economist

#3
Запрос вы так и не выложили, не видно попыток самостоятельного решения задачи. Декартово произведение возвращается перечислением таблиц:

SELECT * FROM Кадры, Организации ORDER BY Организации.Наименование, Фамилия

А если нужны не все строки/столбцы, а лишь нужные/заполненные - в SQL есть 3 основных способа, их придется выучить, раз уж взялись за базы данных:

- Подзапросы: SELECT ..., (SELECT) FROM - один подзапрос возвращает только один столбец!

- Объединения в WHERE: SELECT ..., FROM Организации, Кадры WHERE Организации.ID = Кадры.Организация

- Объединения через JOIN: SELECT ...FROM Кадры JOIN Организации ON Организации.ID = Кадры.Организация

Иногда одна таблица "главнее" (является основой отчета), например Кадры, и не у всех указана организация. Тогда не просто JOIN, а  FROM Кадры LEFT OUTER JOIN Организации ON Организации.ID = Кадры.Организация
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Сергей

Так я уже делал. Проблема в том, что полученный в результате такого запроса набор данных не редактируется, а форма используется, в том числе, и для ввода данных.