Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jedym zapytaniem wiele rekerdow
Forum PHP.pl > Forum > Bazy danych > MySQL
squid
Witam!
pobralem z jednej tablei liste identyfikatorow interesujacych mnie obiektow i z innej tabeli chcem pobrac szczeolowe informacje na temat tych obiektow poprzez ich identyfikatory ale chcem to zrobic jednym zapytaniem, czy da sie tak?

czli pobralem z tabeli 1 wartosci 42,54,76 i teraz chcem wyluskach informacje o tych obiektach z tabeli 2 jedym zapytaniem, moge stoswac OR ale to bedzie bez zensu dla zminnej ilosci wierszy
Vertical
Możesz zawsze zastosować takie zapytanie:
  1. SELECT * FROM tabela, tabela2 WHERE tabela.kolumna = 'cos' AND tabela2.kolumna = 'cos'

Wtedy wybierze ci dane z tabela1.kolumna i z tabela2.kolumna.
cool.gif
squid
juz tak probowalem ale w tym wypadku to nie dziala, nie wiem czemu za bardzo :/
FiDO
Mozesz tez:
  1. SELECT * FROM tabela2 WHERE pole IN (42,54,76)

Jak masz tablice tych numerkow to za pomoca implode" title="Zobacz w manualu PHP" target="_manual tworzysz sobie bez problemu format potrzebny do powyzszego zapytania, wiec ilosc danych nie gra roli.

Lepszym wyjsciem bedzie jednak zastosowanie JOIN'ow, bo widze ze miedzy tymi dwoma tabelami masz relacje, a pewnie nawet o tym nie wiesz.. Podaj wiec strukture obu tabel oraz napisz ktore pole z pierwszej tabeli zawiera identyfikatory ktore sa tez w drugiej tabeli.
Z pomoca JOIN'ow da sie to zrobic w jednym zapytaniu lacznie.. tzn nie bedziesz musial najpierw pobierac ID, a potem tresc wlasciwej, tylko odrazu wszystko.
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-2024 Invision Power Services, Inc.