Главная страница
    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.008 c
2-1150804461
resuS
2006-06-20 15:54
2006.07.09
Задача на вычисление выражения записанного в строке


15-1149791216
Petr V. Abramov
2006-06-08 22:26
2006.07.09
Национальные проекты.


1-1148330205
parovoZZ
2006-05-23 00:36
2006.07.09
И снова форма в dll : инициализация


15-1150100728
Gydvin
2006-06-12 12:25
2006.07.09
Небольшой опрос


15-1150054402
Omar2002
2006-06-11 23:33
2006.07.09
Тока ща понял почему иногда такие бредовые вопросы задают :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский