Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
2-1151055789
KVN
2006-06-23 13:43
2006.07.09
Про таблицы и PageControl


2-1151002711
C@N
2006-06-22 22:58
2006.07.09
Массив кнопок...


2-1151044392
Demand
2006-06-23 10:33
2006.07.09
Окна


2-1150447898
ANB
2006-06-16 12:51
2006.07.09
Как при отправке письма через TIdSMTP указать кодировку письма ?


2-1150789783
AGeL
2006-06-20 11:49
2006.07.09
А как сделать прокрутку в медиаплеере Trackbaro м?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский