Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.01.2010, 20:47
iliya24 iliya24 вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 4
Репутация: 10
По умолчанию SQL запрос с параметром

помогите пожалуйста сделать запрос с параметром, очень срочно надо.

у нас есть база данных студентов из 3 таблиц:

1. таблица студентов с полями : Student, Kyrs, Grupa, Ocinka
2. таблица групп с полями : GrupaNum, Fakultet, KyrsNum, Kurator
3. таблица кураторов с полями : KuratorF, Telephone, Adres

и четвертая обобщенная таблица, в которой выводится сортировка по кураторам.

имеется ComboBox, в котором Items содержит имена кураторов.

помогите написать сам SQL запрос с параметром, с помощью которого будет показывать только тех студентов, куратора которых мы выбрали в ComboBox.


как-это все выглядит так:
Ответить с цитированием
  #2  
Старый 29.01.2010, 20:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Примерно так:
Код:
SELECT
  S.*,
  G.*,
  K.*
FROM 
  STUDENTS S LEFT JOIN 
  GROUPS G ON S.GroupID = G.ID LEFT JOIN 
  KURATORS K ON S.KuratorID = K.ID
WHERE K.Name = :KNAME
Ответить с цитированием
  #3  
Старый 29.01.2010, 21:14
iliya24 iliya24 вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 4
Репутация: 10
По умолчанию

а можно по детальнее пожалуйста, я ничего не понимаю в этом почти
там где все три строчки в from особенно
Ответить с цитированием
  #4  
Старый 29.01.2010, 21:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да это просто объединение таблиц.
К таблице студентов "приклеиваются" строчки по равенству соответсвующих полей. Т.е. из 3х таблиц фактически собирается одна по соответсвующим связям (foreign key).
Ответить с цитированием
  #5  
Старый 29.01.2010, 21:38
iliya24 iliya24 вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 4
Репутация: 10
По умолчанию

выбивает следующее
Цитата:
Invalid field name.
GroupID

GroupID - в нашем случае это GrupaNum ?
Ответить с цитированием
  #6  
Старый 29.01.2010, 23:22
iliya24 iliya24 вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 4
Репутация: 10
По умолчанию

Скажи пожалуйста что в нашем случае GroupID и KNAME, пожалуйста,очень нужно это на завтра...
Ответить с цитированием
  #7  
Старый 29.01.2010, 23:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от iliya24
выбивает следующее

GroupID - в нашем случае это GrupaNum ?

Ну ты смотри - это поле внешний ключ к таблице групп. Если у тебя GrupaNum - это ключ, то да.

KNAME - это твой искомый параметр. Имя куратора...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter