Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czy ktoś wie jak to zrobić ?
www.aukcje.fm
post
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

Ostrzeżenie: (20%)
X----


Witam,

Jak można takie zapytanie zadać(IMG:style_emoticons/default/questionmark.gif)

  1. SELECT `kolumna1` FROM (SELECT `table_title` FROM `tables` WHERE `table_id` = 1 ) WHERE `id` = 100


Bo nie działa (IMG:style_emoticons/default/smile.gif) Pewnie że po where można dawać drugiego selecta.

Ten post edytował www.aukcje.fm 8.02.2014, 18:12:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
matiit
post
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


  1. SELECT `kolumna1` FROM (SELECT `table_title` AS tt FROM `tables` WHERE `table_id` = 1 ) AS table WHERE `id` = 100


Spróbuj tak
Go to the top of the page
+Quote Post
sazian
post
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


1)pobierasz tylko kolumnę table_title, a odwołujesz się do id i kolumna1
2)jeśli używasz podzapytania jako tabeli to tabela(czyli podzapytanie) musi być nazwana
czyli
  1. SELECT `kolumna1` FROM (SELECT `table_title`,kolumna1,id FROM `tables` WHERE `table_id` = 1 ) tabela WHERE `id` = 100
Go to the top of the page
+Quote Post
www.aukcje.fm
post
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

Ostrzeżenie: (20%)
X----


Niestety daje odpowiedź #1248 - Every derived table must have its own alias z drugiej propozycji.

Z pierwzej propzycji zwraca błąd #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table WHERE `id` = 1' at line 1


HELP (IMG:style_emoticons/default/exclamation.gif) ! (IMG:style_emoticons/default/facepalmxd.gif)
Go to the top of the page
+Quote Post
matiit
post
Post #5





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


Wrzuć schema na sqlfiddle to Ci napiszę zapytanie
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Po pierwsze... Nazywaj tematy po ludzku a nie "problem" i inne podobne bo to Ci nie pomaga...
Po drugie... Po co Ci taka nienormalna konstrukcja i potworki? Tylko błędy niepotrzebnie możesz połapać. Nie będę dawał jak to poprawić do Twojej formy, ale zaproponuję może byś zamiast cudować użył:
  1. SELECT `kolumna1` FROM `tables` WHERE `table_id` = 1 AND `id` = 100

Twoje pomysły mają czasem sens gdy mamy do czynienia z wieloma JOINami i chcemy bazowy zestaw ograniczać już albo tworzymy bardzo specyficzne zapytanie. Ty jedynie ograniczasz się do podzbioru głównej tabeli. I stąd pierwszy warunek w WHERE.
Go to the top of the page
+Quote Post
matiit
post
Post #7





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


thek, wydaje mi się, że autor ma wiele tabel i w jakiejś kolumnie przechowuje ich nazwy.
Go to the top of the page
+Quote Post
thek
post
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




I właśnie dlatego na tym forum tak gęsto i często prosi się o dokładne opisanie problemu. Teraz mogę jedynie opierać się o to co napisał autor tematu. Reszta to wróżenie z fusów i "co autor miał na myśli" (IMG:style_emoticons/default/wink.gif)
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: 24.08.2025 - 00:59