Как использовать групповую функцию в предложении Where - PullRequest
0 голосов
/ 10 июня 2019

Есть ли способ использовать групповую функцию в предложении where?Я пытаюсь вставить записи на основе приведенной ниже логики, но только для записей с qty1

Мой код:

    With t1 as (select item_no, qty,
                min (stock_date)
           From stock_tab
          Where stock_date < SYSDATE
        Group by item_no, qty
     Select item_no, min(t1.qty) qty1, max(t2.qty) qty2, max(stock_date)
         From t1
        Where t1.qty1 < t1.qty2  --incorrect
         --    min(t1.qty) < max(t1.qty2)  --also tried this 
         Group by item_no
        Oder by max(t1.stock_date) desc, max(t1.qty) desc

1 Ответ

1 голос
/ 10 июня 2019

Если вы хотите использовать агрегатные функции в качестве фильтра, который вы ищете having.

With t1 as (select item_no, qty,
            min (stock_date)
       From stock_tab
      Where stock_date < SYSDATE
    Group by item_no, qty)
 Select item_no, min(t1.qty) qty1, max(t2.qty) qty2, max(stock_date)
     From t1
     Group by item_no
     having min(t1.qty) < max(t1.qty2)
    Order by max(t1.stock_date) desc, max(t1.qty) desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...