Запрос из таблиц с отношением многие-ко-многим

Модераторы: kdv, CyberMax

Ответить
ViTality
Сообщения: 3
Зарегистрирован: 15 апр 2008, 09:04

Запрос из таблиц с отношением многие-ко-многим

Сообщение ViTality » 15 апр 2008, 09:13

Имеються две таблицы STUDS, ORDERS связанные через третью LINKS. (изображение прилагаеться)
Изображение
Это список студентов и приказы. Отношение многие-ко-многим, т.к. одним приказом студентов зачисляют, и на одного студента может быть несколько приказов. Связь делал по книге Хелен Борри(тольлко начал читать, выборочно) поэтому двойной ключ в LINKS.

Пишу клиента. на главной форме расположен список студентов из STUDS. При редактировании какой либо записи студента открываеться модальная форма со всеми данными. и на этой форме нужно получить список приказов с которыми связан студент через LINKS.

Помогите пожалуйста сформировать запрос.
пытаюсь так но невыходит:

Код: Выделить всё

select
      ORDERS.ORDER_ID,
      ORDERS.ORDER_NUMBER,
      ORDERS.ORDER_DATE,
      ORDERS.ORDER_TYPE,
      ORDERS.COMMENT,
      LINKS.STUD_ID,
      LINKS.ORDER_ID
from
    ORDERS, LINKS
where ((ORDERS.ORDER_ID=LINKS.ORDER_ID)
     and (LINKS.STUD_ID= :STUD_ID))     

п.с.
база - Firebird
клинет на Lazarus+FBDataSet

RedAndBlack
Сообщения: 24
Зарегистрирован: 16 авг 2007, 07:18

Сообщение RedAndBlack » 15 апр 2008, 09:35

join не пробывал?
чо нить типа

Код: Выделить всё

select ORDERS.ORDER_ID,
      ORDERS.ORDER_NUMBER,
      ORDERS.ORDER_DATE,
      ORDERS.ORDER_TYPE,
      ORDERS.COMMENT,
      LINKS.STUD_ID,
      LINKS.ORDER_ID 
from LINKS
join ORDERS on (ORDERS.ORDER_ID=LINKS.ORDER_ID)
where
LINKS.STUD_ID= :STUD_ID

ViTality
Сообщения: 3
Зарегистрирован: 15 апр 2008, 09:04

Сообщение ViTality » 15 апр 2008, 11:02

Спс. оба варианта запроса работают если вместо :STUD_ID подставить число. плучаеться чтото с программой....
Последний раз редактировалось ViTality 15 апр 2008, 11:09, всего редактировалось 2 раза.

RedAndBlack
Сообщения: 24
Зарегистрирован: 16 авг 2007, 07:18

Сообщение RedAndBlack » 15 апр 2008, 11:08

а как ты параметр :STUD_ID передаешь?

ViTality
Сообщения: 3
Зарегистрирован: 15 апр 2008, 09:04

Сообщение ViTality » 15 апр 2008, 11:10

Во-во! какраз забыл добавить в код строку для :STUD_ID
Разобрался, в коде программы ошибка была.
Всеравно большое спасибо. Буду использовать твой вариант, т.к. про свой читал что такого вида запросы не рекомендуеться использовать в новых программах, а поддерживаються они только для работоспособности старых прог.

п.с. извините что "впустую" создал тему. просто как всегда прогу сдать нужно "еще вчера", а глаз уже замылилился

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 апр 2008, 18:01


Ответить