Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak pominąć pole wyniku zapytania?
zijacek
post
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.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. SELECT parametr FROM naliczanie WHERE typ=6 AND skladnik="aaa" AND data<="2009-01-01" ORDER BY DATA DESC LIMIT 1
Go to the top of the page
+Quote Post
zijacek
post
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ę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:22