Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQL] Select nie widzi aliasu
Forum PHP.pl > Forum > PHP
ZeT
Problem jest następujący mamy zapytanie np:
  1. SELECT * , (SELECT COUNT( * ) FROM xxxxx WHERE cc = 'be' AND ( bbb = k.b_id OR bbb2 = k.b_id OR bbb3 = k.b_id OR bbb4 LIKE '%k.b_id ,%')) FROM kat AS k


SQL zwraca jakieś wyniki, ale nie bierze pod uwagę tego:
  1. OR bbb4 LIKE '%k.b_id ,%'


gdyż jak wpisze np:
  1. OR bbb4 LIKE '%50 ,%'


to zwraca wyniki poprawnie, pytanie dlaczego LIKE nie widzi aliasu k.b_id?
.chudy.
W zlym miejscu masz AS, pytanie powinno być na wzór:
  1. SELECT *, (SELECT 'cos' FROM 'tablela_2' WHERE id > 10) AS k, FROM tabela_1
nevt
w tym zapisie
  1. ... OR bbb4 LIKE '%k.b_id ,%' ...
k.b_id to nie nazwa pola w bazie, tylko zwykły tekst we wzorcu dla LIKE ... spróbuj:
  1. ... OR bbb4 LIKE CONCAT('%', k.b_id, ' ,%') ...
i powinno być ok...
ZeT
wiedziałem że rozwiązanie jest proste, ale wczoraj po tylu godzinach mnie przerosło winksmiley.jpg wielkie dzięki nevt
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.