Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Jak zbudować zapytanie?
Forum PHP.pl > Forum > Przedszkole
northwest
Witam,
Mam takie zapytanie:
  1. <?php
  2. $result2 = pg_query("SELECT id_dane FROM loginy WHERE id_usera = '$peta_iduser'");
  3. $cc = "SELECT id_dane, a, b, c, d, id  FROM dane_ WHERE ( id <>0 ";
  4. while ($query_data = pg_fetch_assoc($result2)) {
  5. $cc .= " or id_dane = '$query_data[id_dane]' ";
  6. }
  7. $cc .= ") ORDER by id DESC LIMIT 1";
  8. ?>


chciałbym żeby to zadziałało tak:
- pobieram id_usera i pobieram id_dane (jest okey)
- buduje zapytanie i wkładam w nie dane jakie zwróciło 1 zapytanie...

1 zapytanie zawsze zwraca więcej niż 1 rekord (czyli tych "or id_dane jest duuużo).
I teraz tak, z zapytania 2 chciałbym pobrać tylko 1 (ostatni rekord) dla każdego id_dane...


Wiecie może jak to zrobić??


Z góry dzięki za pomoc,
pozdrawiam Northwest
Lion_87
a niemozeszz zrobic jedno cale zapytanie?

Jak wygladaja te tabele?

pokaz jaki ma wyjsc wynik?
northwest
jedno zapytanie nie bardzo - bo pierwsze pobiera te numerki z 1 tabeli, a 2 zapytanie wyświetla wyniki...
Lion_87
no tak a np LEFT JOIN?
northwest
właśnie nie wiem jak to ugryźć dlatego pytam....smile.gif
melkorm
eh eh, powinni dać to do regulaminu:

masz problem z zapytaniem ?
Podaj:
- struktury tabel w których jest problem
- podaj co chcesz osiągnąć w wynikach
- ewentualnie przykłady

Ponieważ nie czytam(y) w myślach i nie wiemy czego oczekujesz w wynikach.
Lion_87
np

  1. SELECT u.id_dane, p.a, p.b, p.c, p.d, p.id FROM loginy u LEFT JOIN dane_ p ON u.id_dane = p.id_dane ORDER BY id DESC LIMIT 1 ;
northwest
  1. CREATE TABLE loginy
  2. (
  3. id serial NOT NULL,
  4. id_usera varchar(20),
  5. id_dane character varying(6),
  6. rej character varying(12),
  7. PRIMARY KEY (id)
  8. );


i:
  1. CREATE TABLE dane_ (
  2. id serial NOT NULL,
  3. id_dane integer,
  4. a timestamp without time zone,
  5. b real,
  6. c real,
  7. d character(3),
  8. e character(3),
  9. PRIMARY KEY (id)
  10. );


chce pobrać w zapytaniu 1: wszystkie numerki które spełniają warunek podany w zapytaniu, i na ich podstawie chcę wyświetlić wyniki z tabeli 2... to co mam aktualnie działa dobrze - pokazuje wszystkie możliwe wyniki -a chciałbym pobrać tylko po 1(ostatnim) wyniku dla każdego id_usera z tabeli 1...
Lion_87
ne rozumiem

Cytat
a chciałbym pobrać tylko po 1(ostatnim) wyniku dla każdego id_usera z tabeli 1...


to w tej drugiej tabeli jest od jedego usera kilka wpisow. Tak?
northwest
udało mi się rozwiązać problem smile.gif
dzięki za pomoc:))
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.