Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pominąć pole wyniku zapytania?
Forum PHP.pl > Forum > Bazy danych > MySQL
zijacek
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.
wookieb
  1. SELECT parametr FROM naliczanie WHERE typ=6 AND skladnik="aaa" AND data<="2009-01-01" ORDER BY DATA DESC LIMIT 1
zijacek
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ę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.