![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 5.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam takie zapytanie: select parametr, max(data) as md from naliczanie where typ=6 and skladnik="aaa" and data<="2009-01-01"; i chodzi o to, że to ma mi zwrócić tylko jedną wartość (parametr), bo ten select jest wstawiony w INSERT INTO jako jedna z wartości. Niestety w tej postaci zwraca 2 kolumny (łącznie z md), i INSERT nie zadziała. Może jest jakaś funckja ukrycia pola do zwrotu? Ogólnie to max(data) jest po to, żeby wybrał parametr zapisany z największą datą, ale nie większą niż 2009-01-01 (czyli aktualny na dzień 2009-01-01, który mogł być zapisany o wiele wcześniej, bo data to data zapisu zmiany wartości). Może jest jakiś inny prosty sposób na wybranie wartości z datą największą, ale nie większą niż..? Nieźle zamotałem, ale może któs pojmie i poratuje. Z góry dzięki. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 5.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Fakt,
Zapomniałem dopisać, że można to oczywiście zrobić przez zapytanie zagnieżdżone, ale spowalnia to jego działanie, i w sumie to spodziewałem się właśnie odpowiedz , że można zrobić zapytanie zagnieżdżone, a tu jednak niespodzianka. Metoda z limitem jest zdecydowanie szybsza. Jeszcze raz bardzo dziękuję. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 04:22 |