powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как правильно делать сортировку через sql запрос
5 сообщений из 5, страница 1 из 1
как правильно делать сортировку через sql запрос
    #38628500
ks81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте. Столкнулся на работе с такой проблемой

Имеется главная таблица MAIN и есть связанные с ней таблицы UD1, UD2, UD3... между собой они соединены через ключевое поле ID
Также имеются справочные таблицы SP1(ID, NAME), SP2(ID, NAME) значения которых стоят в таблицах UD1, UD2. Т.е. SP1.ID -> UD1.P1, SP2.ID -> UD2.P2

могу отсортировать таблицы только по значению

Код: plaintext
1.
2.
3.
4.
5.
SELECT MAIN.ID, UD1.P1, UD2.P2, UD3.P3
  FROM MAIN, UD1, UD2, UD3
  WHERE MAIN.ID = UD1.ID
            AND MAIN.ID = UD2.ID
            AND MAIN.ID = UD3.ID
  ORDER BY UD1.P1, UD2.P2

теперь хочу отсортировать по значению в справочнике

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT MAIN.ID, SP1.NAME, UD2.P2, UD3.P3
  FROM MAIN, UD1, UD2, UD3
  LEFT OUTER JOIN SP1 ON (SP1.ID = UD1.P1)
  WHERE MAIN.ID = UD1.ID
            AND MAIN.ID = UD2.ID
            AND MAIN.ID = UD3.ID
  ORDER BY 2

возникает ошибка

The cursor identified in the UPDATE or DELETE statement is not positioned on a row.
no current record for fetch operation.

ладно бы если бы по одному полю сортировать, а если полей несколько и справочники одинаковые? как вообще правильно сортировать таблицы по значению справочника? Заранее благодарю.
...
Рейтинг: 0 / 0
как правильно делать сортировку через sql запрос
    #38628510
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никогда не смешивай явные и неявные джойны.
это не только FireBird касается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как правильно делать сортировку через sql запрос
    #38628526
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как правильно делать сортировку через sql запрос
    #38629111
anpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ks81
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT MAIN.ID, SP1.NAME, UD2.P2, UD3.P3
  FROM MAIN, UD1, UD2, UD3
  LEFT OUTER JOIN SP1 ON (SP1.ID = UD1.P1)
  WHERE MAIN.ID = UD1.ID
            AND MAIN.ID = UD2.ID
            AND MAIN.ID = UD3.ID
  ORDER BY 2

возникает ошибка

The cursor identified in the UPDATE or DELETE statement is not positioned on a row.
no current record for fetch operation.

ладно бы если бы по одному полю сортировать, а если полей несколько и справочники одинаковые? как вообще правильно сортировать таблицы по значению справочника? Заранее благодарю.

хотя бы как то так

Код: sql
1.
2.
3.
4.
5.
6.
SELECT MAIN.ID, SP1.NAME, UD2.P2, UD3.P3
 FROM MAIN
 LEFT JOIN UD1 ON UD1.ID = MAIN.ID 
 LEFT JOIN UD2 ON UD2.ID = MAIN.ID 
 LEFT JOIN SP1 ON SP1.ID = UD1.P1
  ORDER BY 2
...
Рейтинг: 0 / 0
как правильно делать сортировку через sql запрос
    #38629124
anpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как уже было сказано! Не смешивайте явные и неявные джоины!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как правильно делать сортировку через sql запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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