Minimalna wartość po where

Minimalna wartość po where
GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

Chcę wyświetlić pewne kolumny ale tylko takie, które w innej kolumnie mają wartość minimalną.
Coś co rozumiem tak:

Kopiuj
SELECT kolumna1 FROM tabela1 WHERE kolumna2=MIN(kolumna2);

ale tak nie działa, bo

Kopiuj
MIN

nie może być po WHERE

Kopiuj
Próbowałem zagnieżdżeń ale nie dałem rady zrobić tego tak jak należy.

Dodam, że chodzi o bazę ORACLE.
L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
krzysiek050
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1272
1
Kopiuj
select kolumna1 from tabela where kolumna2=(select min(kolumna2) from tabela1)
L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
0

ale po co podzapytania, jak po prostu HAVING można wstawić ?

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

No właśnie, że to zagnieżdżenie zwraca mi zero kolumn.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1
lukas124 napisał(a):

ale po co podzapytania, jak po prostu HAVING można wstawić ?

no nie do końca - aby było having musi być group by a jak chcesz wyświetlić wszystkie rekordy bez grupowania to musisz dać podzapytanie

gonefishing napisał(a):

No właśnie, że to zagnieżdżenie zwraca mi zero kolumn.

zapytanie zwraca tyle kolumn, ile mu wyszczególnisz. Natomiast zapytanie może zwrócić różną ilość WIERSZY/REKORDÓW/KROTEK/... w zależności od warunków zapytania.

A jeśli SELECT MIN(kolumna2) FROM tabela1 nie zwraca żadnych rekordów to znaczy, że w tabela NIE MA ani jednego rekordu

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

OKI DOKI zadziałało zagnieżdżenie. Sam próbowałem je wcześniej i też nie wychodziło. Okazało się metodą dedukcji, że należało jeszcze dodać 2 warunki w tym jeden istotny - porównanie kluczy z 2 różnych tabel.

Sorry za zamieszania i dzięki za zainteresowanie :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.