Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pod zapytanie z wieloma kolumnami
Forum PHP.pl > Forum > Bazy danych > MySQL
dymsza
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
alegorn
nie bym sie czepial ale to co napisales to maslo maslane z deka, opisz problem dokladniej.....
dymsza
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
alegorn
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.
dymsza
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 tongue.gif
alegorn
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..
dymsza
tyle mogę sobie sam poradzić smile.gif bo to wypowiedź typu "jeździjcie ostrożnie autem a nie nie będziecie mieć wypadu" tongue.gif

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

pozdrawiam
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.