Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Dziwny komunikat o nieznaniej kolumnie
Forum PHP.pl > Forum > Bazy danych
Adi32
Witajcie.

  1. SELECT
  2. [.....],
  3. # pobieranie danych do wykresu
  4. (SELECT group_concat(chartsByWeek.charts) FROM #del
  5. (SELECT sum(l.show_count) charts
  6. FROM pl_platform_show l
  7. WHERE l.id=platform.pl_platform_id
  8. AND l.stat_type=1
  9. GROUP BY WEEK(l.created_at)
  10. ORDER BY WEEK(l.created_at) DESC
  11. LIMIT 7
  12. ) AS chartsByWeek
  13. ) AS chart #del
  14. FROM pl_platform platform
  15. LEFT JOIN pl_platform_show shows ON (platform.pl_platform_id = shows.id AND shows.stat_type = 1)
  16. [......]


Zwraca komunikat:
Column not found: 1054 Unknown column 'platform.pl_platform_id' in 'where clause'"

Kolumna platform.pl_platform_id istnieje, i komunikat nie występuje gdy wywale grupowanie (czyli 2 linijki oznaczone #del)
Dlaczego tak się dzieje? Czy przy subzapytaniu drugiego poziomu nie ma "zasięgu" do zdefiniowanych JOINów w sekcji FROM?
mmmmmmm
Tak. Ale można to "oszukać"...
Adi32
Cytat(mmmmmmm @ 16.03.2015, 15:43:11 ) *
Tak. Ale można to "oszukać"...


Jak? Możesz podać jakiś przykład?

Ja załatwiłem problem w taki sposób:
(z pamieci)
  1. SELECT
  2. [.....]
  3. group_concat(weeklystats.suma) AS charts
  4. [.....]
  5. FROM
  6. [.....]
  7. LEFT JOIN
  8. (SELECT sum(costam) AS suma, id FROM tabelajakastam WHERE stat_type=1 GROUP BY WEEK(created_at) ) AS weeklystats ON (weeklystats.id = platform.platform_id)
  9. [.....]


Ale tworzenie nowej tabeli w locie do joina jest zdecydowanie za wlone... Nie da sie poindeksować po WEEK(created_at),
w gre wchodzi chyba tylko widok.
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.