Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Кто знает запросы ORACLE, помогите!, Подскажите что я делаю не так!  (Прочитано 6610 раз)
0 Пользователей и 1 Гость смотрят эту тему.
CoolRich
Гость
« : 21-11-2005 08:07 » 

Пример запроса:

select a.af1, a.af2, a.af3,
(select distinct b.bf4 from b where a.af1 = b.bf1 and a.af2 = b.bf2 and a.af3 = b.bf3)
from a
order by 1,2,3,4

Если результат подзапроса в скобках более одной записи возникает ошибка. В интербейзе такой запрос проходит. Что не так?
« Последнее редактирование: 21-11-2005 12:10 от CoolRich » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-11-2005 10:01 » 

Подзапрос должен возвращать всегда! только одну строку
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
CoolRich
Гость
« Ответ #2 : 21-11-2005 10:23 » 

В том то и дело что мне нужны в четвётртой колонке все записи удовлетворяющие условиям из таблицы B, а если их нет null
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 21-11-2005 11:33 » 

используй правое или левое соединение (я в них всегда путаюсь Улыбаюсь

select a.af1, a.af2, a.af3, b.af1
from a, b
where a.af1 = (+)b.bf1
   and  a.af2 = (+)b.bf2
   and  a.af3 = (+)b.bf3
order by 1,2,3,4

но такой запрос могет не прокатить % на 100
 

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines