Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобрать запрос 
V
    Опции темы
Самозванка
Дата 7.9.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Не могу разобраться с запросом... может кто поможет или натолкнет на мысль?  Знаю, что надо использовать join, но join не понимаю как сюда прикрутить...

Выбрать min(EKET - EINDT) , где EKET-EINDT>=сегодня и EKPO-LGORT in ('0001','1001') и EKPO-LOEKZ=' ' и EKPO-ELIKZ = ' ', где EKET-EBELN = EKPO-EBELN и EKET - EBELP = EKPO - EBELP и EKPO - MATNR = ZRE_NOSHELF-MATNR и EKPO-WERKS = p_werks

ТУТ идет такой вид : таблица - поле...

Не могу понять через какое условие надо соединять таблицы, а какое использовать как выборку после WHERE??

Есть такое предположение, что

Код

...
FROM eket LEFT OUTER JOIN ekpo ON
EKET-EBELN = EKPO-EBELN AND
EKET - EBELP = EKPO - EBELP
...


а где троеточия не могу понять...
PM MAIL ICQ   Вверх
v2v
Дата 7.9.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Если не углубляться к конкретной СУБД, то запрос может выглядеть приблизительно так
Код

select 
min(et.EINDT)
from EKET et, EXPO po
WHERE 
et.EINDT>=DATE and
po.LGORT in ('0001','1001') and 
po.LOEKZ=' ' and 
po.ELIKZ = ' ' and
et.EBELN = po.EBELN and
et.EBELP = po.EBELP  and
po.MATNR = po.ZRE_NOSHELF-po.MATNR and
po.WERKS = p_werks


Добавлено через 1 минуту и 49 секунд
C JOIN так:
Код

select 
min(et.EINDT)
FROM eket et LEFT OUTER JOIN ekpo po ON
et.EBELN = po.EBELN and
et.EBELP = po.EBELP  
WHERE
et.EINDT>=DATE and
po.LGORT in ('0001','1001') and 
po.LOEKZ=' ' and 
po.ELIKZ = ' ' and
po.MATNR = po.ZRE_NOSHELF-po.MATNR and
po.WERKS = p_werks



--------------------
PM   Вверх
Самозванка
Дата 7.9.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



v2v,  вопрос стоит именно, что тут надо использовать джойн...

и еще а функция min  к типу Дата применяется без проблем?
PM MAIL ICQ   Вверх
v2v
Дата 7.9.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Цитата(Самозванка @  7.9.2008,  20:58 Найти цитируемый пост)

и еще а функция min  к типу Дата применяется без проблем? 

какая СУБД?


--------------------
PM   Вверх
Самозванка
Дата 7.9.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



В SAP R/3 OpenSQL

PM MAIL ICQ   Вверх
v2v
Дата 7.9.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



хмм ... рекомендую поискать документацию по ней.


--------------------
PM   Вверх
Rigel
Дата 19.9.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.7.2007
Где: Москва

Репутация: нет
Всего: нет



Рекомендуется выносить в соединение таблиц все, что можно туда вынести: все операции, относящиеся к этим двум таблицам, а также к одной из этих таблиц и константам (чтобы отсечь все ненужное еще на уровне соединения таблиц). Все остальное переносится в WHERE. Функция min работает только с сгрупированными (GROUP BY) данными (что, впрочем, очевидно - как еще она могла бы что-нибудь выбрать, точнее, из чего-нибудь выбрать). Еще один подводный камень - NULL может не учитываться, в зависимости от реализации СУБД.
 Очень полезно запускать запрос в мониторе по частям, постепенно дополняя его и видеть, что выводится - становится ясно, как он организует данные, и как их надо организовывать.
--------------------
С уважением. Rigel. http://www.smoliy.ru
PM MAIL WWW ICQ   Вверх
Самозванка
Дата 20.9.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Rigel, 
v2v, 
спасибо, разобралась, вопрос видимо у меня не корректно поставлен был
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.