Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pod zapytanie z wieloma kolumnami
dymsza
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 4
Dołączył: 24.08.2006

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


siema


mam taki problem


muszę napisać zapytanie które mam pod zapytanie wyciągać więcej niż jedna kolumnę a nie chcę repetować tego zapytanie n razy.

wiem że jednym rozwiązań jest zrobienie sub zapytanie w join i stosowałem jej już w innych przypadkach ale niestety tutaj odpada, czy ktoś mam jakiś inny pomyśl niż concat i explode


pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


nie bym sie czepial ale to co napisales to maslo maslane z deka, opisz problem dokladniej.....
Go to the top of the page
+Quote Post
dymsza
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 4
Dołączył: 24.08.2006

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


potrzebuje czegoś takiego:
  1. SELECT
  2. SELECT
  3. cos1,
  4. cos2
  5. FROM coscos7 WHERE cos
  6. FROM tab1 JOIN cos cos WHERE cos cos



ale tak to nie zadziała

Ten post edytował dymsza 24.06.2009, 11:00:11
Go to the top of the page
+Quote Post
alegorn
post
Post #4





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


uff, alez abstrakcja


mozesz poprobowac zawsze:
  1. SELECT
  2. cos,
  3. (SELECT cos4 FROM tabela2 WHERE warunek ) AS cos2,
  4. cos3
  5. FROM tabela WHERE warunek

aczkolwiek to troche na bakier z optymalizacja zazwyczaj wychodzi

mozemy sie bawic w bajtopisanie - ale poki nie wiem o co ci chodzi - nie pomoge.
Go to the top of the page
+Quote Post
dymsza
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 4
Dołączył: 24.08.2006

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


mój problem polega na tym że moje pod zapytanie ma n kolumn gdzie n > 1
w tym wypadku musiał bym robić to tak
  1. SELECT
  2. cos,
  3. (SELECT cos4 FROM tabela2 WHERE warunek ) AS cos2,
  4. (SELECT cos3 FROM tabela2 WHERE warunek ) AS cos22,
  5. cos3
  6. FROM tabela WHERE warunek



albo tak

  1. SELECT
  2. cos,
  3. (SELECT concat(cos4,cos3) FROM tabela2 WHERE warunek ) AS cos2,
  4. cos3
  5. FROM tabela WHERE warunek



a tego chce uniknąć

ostatecznie jeszcze tak

  1. SELECT
  2. t1.*
  3. t3.*
  4. FROM t1 LEFT JOIN (SELECT cos4 ,cos3 FROM tabela2 WHERE warunek ) AS t3 ON warunek poloczenia


ale tego też nie chciał bym dlatego szukam pomocy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował dymsza 24.06.2009, 12:31:29
Go to the top of the page
+Quote Post
alegorn
post
Post #6





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


w zaleznosci od tego co potrzebujesz osiagnac - byc moze nie bedzie mozliwe calkowite ominiecie podzapytan.

czasami wbrew pozorom, da sie osiagnac zadowalajace efekty i dzieki temu, ale radzilbym wtedy pobawic sie explain, pozakladac odpowiednio klucze
a gdyby zapisac to jako funkcje lub widok.... da sie to wtedy jakos sympatycznie wywolac z poziomu php, bez potrzeby budowania wielopietrowych zapytan.a i wykona sie szybciej..
Go to the top of the page
+Quote Post
dymsza
post
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 4
Dołączył: 24.08.2006

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


tyle mogę sobie sam poradzić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bo to wypowiedź typu "jeździjcie ostrożnie autem a nie nie będziecie mieć wypadu" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

ale dzięki za próbę zrozumienia problemu.

pozdrawiam
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 - 12:26