Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skomplikowane zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
deha21
Potrzebuję zrobić coś tego typu:
  1. SELECT * FROM glowna WHERE glowna.type=$druga(zmienna tworzona na podstawie nazwy z glowna.type) AND glowna.typeid=druga.id AND druga.active='1'

Czyli mam tabelki "glowna" i "druga". W "glowna" znajduje się jakby lista wszystkich "rzeczy". Jest tam np. ID, TYPE (np. druga, trzecia, czwarta) oraz TYPEID (który przechowuje ID z tabeli np. druga, trzecia, czwarta.
Potrzebuję pobrać tylko te rekordy z "glowna", które są active='1'... a to czy rekord jest active='1' trzymane jest w innych tabelach (we wszystkich takie samo pole - "active").

Pomocy! To mnie przerasta.
askone
  1. SELECT * FROM glowna INNER JOIN druga ON druga.id = glowna.typeid WHERE glowna.type=$druga AND druga.active='1'


Pozdrawiam
deha21
Nie, nie. Chodzi mi o coś innego. W Twoim kodzie jest już określona nazwa drugiej tabelki a 'druga' to ma być zmienna, która będzie pobierana z oferty.type. Pole 'type' zawiera właśnie nazwę innej tabeli w której sprawdzany ma być czy innatabela.active='1'.
irmidjusz
@deha21 niedawno w księgarniach pojawiła się książka "Antywzorce języka SQL" - z tego co widzę, właśnie z czymś takim masz do czynienia tongue.gif
deha21
Czyli w sensie że źle zaprojektowane? wink.gif Wiem, że źle to jest zrobione ale nie mam wyboru. Musze takie coś zrobić.
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.