Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Sql   Найти похожие ветки 

 
gost ©   (2006-06-23 15:09) [0]

Помогите, пожалуйста, написать sql запрос. 3 таблицы:
1. RA (рекламные агентства), в ней находится поля RKod, RName.
2. VRA (виды деятельности рекламного агентства), в ней поля - VRAKod, VRAKodRA, VRAKodVD.
3. WidD (виды деятельности): WKod, WName.
Нужно получить данные по рекламным агентствам, которые занимаются несколькими видами деятельности одновременно.
Например, 1 рекламное агентство занимается и телевидением, и газетами, и радио. Нужно выбрать такое агентство.
Для определения видов деятельности, по которым нужно найти рекламные агентства, создаю таблицу Wid с полем f1, в котором хранятся коды видов деятельности, по которым выбираются рек.агентства.
Писала такой запрос: select RName from RA, VRA, WidD where RKOd=VRAKOdRA and VRAKodVD = all (select f1 from Wid) and VRAKodVD=WKod
Естественно, что такой запрос не работает.
Например, в таблице VRA записи:
VRAKod VRAKodRA VRAKodVD
1          1             1
2          1             2  
3          1             3
4          2             1
5          3             2
6          3             3
Пользователь хочет выбрать рекламные агентства, у которых вид деятельности (ВД) 1 и 2.
Он должен получить отчет - 1.
В другой раз хочет выбрать РА, у которых ВД - 2 и 3.
Получает  - 1, 3.
Как составить такой запрос?


 
ANB ©   (2006-06-23 15:22) [1]

select * from RA where RA.RKod in (select VRA.VRAKodRA from VRA where VRA.VRAKodVD in (2, 3))


 
Sergey13 ©   (2006-06-23 15:32) [2]

А зачем топики то плодить?
http://delphimaster.net/view/2-1151045283/


 
ANB ©   (2006-06-23 15:33) [3]

Не заметил, уточняю :
select * from RA where RA.RKod in (select VRA.VRAKodRA from VRA, WidD where VRA.VRAKodVD = WidD.F1)


 
gost ©   (2006-06-23 15:56) [4]

Спасибо решение уже найдено.
select ra.rname from ra, vra, widd
where ra.rkod = vra.vrakodra and vra.vrakodvd = widd.wkod and
 wkod in (select f1 from wid)
group by ra.rname
having count (vra.vrakodra) > 1



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
2-1150462041
novill
2006-06-16 16:47
2006.07.09
Как послать сообщение другой (чужой) программе?


1-1148800591
serg128
2006-05-28 11:16
2006.07.09
Как сконвертить строку в base64?


8-1138452664
Universe
2006-01-28 15:51
2006.07.09
Большие изображения


2-1150484567
Glivera
2006-06-16 23:02
2006.07.09
Работа с екселем


2-1150476240
Handle
2006-06-16 20:44
2006.07.09
CreateToolHelp32SnapShot