Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skomplikowane zapytanie, jak dla mnie ;)
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
askone
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

Ostrzeżenie: (0%)
-----


  1. SELECT * FROM glowna INNER JOIN druga ON druga.id = glowna.typeid WHERE glowna.type=$druga AND druga.active='1'


Pozdrawiam
Go to the top of the page
+Quote Post
deha21
post
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

Ostrzeżenie: (0%)
-----


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'.
Go to the top of the page
+Quote Post
irmidjusz
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


@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 (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
deha21
post
Post #5





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

Ostrzeżenie: (0%)
-----


Czyli w sensie że źle zaprojektowane? (IMG:style_emoticons/default/wink.gif) Wiem, że źle to jest zrobione ale nie mam wyboru. Musze takie coś zrobić.
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: 22.08.2025 - 23:06