Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 17:08   #1
Chel
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 22
Восклицание Помогите, пожалуйста, с выборкой

народ, помогите ,плиз, сделать выборку... ОЧЕНЬ НАДО горит прога!!!
есть 4 таблицы мсакцесс
1-страны
2-этапы
3-пилоты
4-прохождение
Связи такие : 1(один ко многим)2; 2(один ко многим)4; 3(один ко многим)4
надо, чтобы при выборе определенной страны (например Франция) и пилота (например Себастьен Лёб) в таблице 4прохождения отображались те этапы которые имеются только в ИМЕННО этой стране!
а то там отображаются все этапы всех стран , которые прошел выбранный гонщик!
Рабоитаю с Delphi7 и ADO
структура базы:
Chel вне форума Ответить с цитированием
Старый 21.05.2008, 18:17   #2
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

select * from Etapy
where Код_стр=:пар_Код_стр

где :пар_Код_стр - выбранное значение кода страны из таблицы Strana

Код выполняешь через кверю.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 21.05.2008, 18:23   #3
Chel
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от D-mon Посмотреть сообщение
select * from Etapy
where Код_стр=:пар_Код_стр

где :пар_Код_стр - выбранное значение кода страны из таблицы Strana

Код выполняешь через кверю.
надо выборку делать в таблице прохождение!
допустим, я выбираю страну. в ней есть этапы и пилот прошел эти этапы. в таблице этапы храняться просто перечень этапов в стране и их характеристика! а в таблице проходжение храниться время, за которое пилот проехал этап.
так что суть вот в чем:
1 выбираю страну (в которой сожержаться этапы)
2 выбираю пилота
3 данные в таблице прохождение отображаются только по тем этапам, которые есть в выбранной стране
Chel вне форума Ответить с цитированием
Старый 21.05.2008, 18:31   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Давай так. Какие столбцы надо видеть в ответе, после слияния?
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 21.05.2008, 18:35   #5
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

select * from Prohojdenie
where Kod_etapa in (select kod_etapa from Etapy where Код_стр=:пар_Код_стр)
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 21.05.2008, 18:36   #6
Chel
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 22
По умолчанию

все столбцы из таблицы прохождение!
1 выбираю страну (в которой сожержаться этапы)
2 выбираю пилота
3 данные в таблице прохождение отображаются только по тем этапам, которые есть в выбранной стране
Chel вне форума Ответить с цитированием
Старый 21.05.2008, 18:44   #7
Chel
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от D-mon Посмотреть сообщение
select * from Prohojdenie
where Kod_etapa in (select kod_etapa from Etapy where Код_стр=:пар_Код_стр)
ошибка: неправильно определен объект parameter
Chel вне форума Ответить с цитированием
Старый 21.05.2008, 18:52   #8
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Я не помню как в адо толи :парам толи @парам, посмотри в SQL и Oracle так...
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 21.05.2008, 18:59   #9
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

select PR.*
from Prohojdenie PR inner join Etapy E on E.[код_этапа]=PR.[код_этапа]
inner join Car C on C.[№_машины]=E.[№_машины]
left join Strana S on S.[код_стр]=E.[код_стр]
where S.[код_стр]=:idCountry and C.[№_машины]=:idCar

Вобщем чтот вроде этого
Domovoy вне форума Ответить с цитированием
Старый 21.05.2008, 19:09   #10
Chel
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Domovoy Посмотреть сообщение
select PR.*
from Prohojdenie PR inner join Etapy E on E.[код_этапа]=PR.[код_этапа]
inner join Car C on C.[№_машины]=E.[№_машины]
left join Strana S on S.[код_стр]=E.[код_стр]
where S.[код_стр]=:idCountry and C.[№_машины]=:idCar

Вобщем чтот вроде этого
неправильно определен объект parameter

мот я че не так делаю? как его определять, подскажите, пожалста
Chel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста MaskEdit Фриланс 1 21.04.2008 14:27
Как оптимизировать запрос MySQL с выборкой из двух таблиц. Johnatan SQL, базы данных 6 13.04.2008 03:10
Помогите пожалуйста Rifel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 19.12.2006 14:13