"id_cat" которого соответствует значению поля "cat" в таблице "produkt" товаров?
Поля в таблица "categories" категории:
-----------------
id_cat | name
-----------------
Таблица "produkt" товаров:
------------------------
id_prod | cat | title
------------------------
Написал запрос:
$query="SELECT `name`"
. " FROM `categories` "
. " LEFT JOIN `produkt` ON `categories` "
. " WHERE `categories`.`id` = `produkt`.`cat` ";
Но не выводит ничего...
Спустя 4 минуты, 36 секунд (27.06.2012 - 13:45) T1grOK написал(а):
Критерий соединения не правильно написан.(ON и WHERE синонимы, но используются в совершенно разных контекстах)
Подозреваю, что нужно так. :)
$query="SELECT `name`"
. " FROM `categories` "
. " LEFT JOIN `produkt` "
. " ON `categories`.`id` = `produkt`.`cat` ";
Подозреваю, что нужно так. :)
Спустя 10 минут, 7 секунд (27.06.2012 - 13:55) Lutsk написал(а):
T1grOK, так выводит, но первое значение из таблицы `categories`. А нужно чтоб `categories`.`id` = `produkt`.`cat`. Правда, в запросе вместо `cat` должна подставляться переменная $obj->cat.
Типа такого: `categories`.`id` = `produkt`." . $obj->cat . " ";
Типа такого: `categories`.`id` = `produkt`." . $obj->cat . " ";
Спустя 1 час, 15 минут, 14 секунд (27.06.2012 - 15:10) Lutsk написал(а):
Спасипо, разобрался уже сам. В итоге:
$query="SELECT `name`"
. " FROM `categories` AS a"
. " LEFT JOIN `produkt` AS b"
. " ON a.`id` = b.`cat`"
. " WHERE b.`cat` = $obj->cat";
Спустя 8 минут, 19 секунд (27.06.2012 - 15:18) sergeiss написал(а):
Lutsk - а зачем так "хитро" объединять строки? Можно то же самое написать намного проще, в виде одной строки; так будет намного проще изменять/дополнять запрос:
$query=
"SELECT `name`
FROM `categories` AS a
LEFT JOIN `produkt` AS b
ON a.`id` = b.`cat`
WHERE b.`cat` = $obj->cat";
Спустя 44 минуты, 45 секунд (27.06.2012 - 16:03) vital написал(а):
Цитата (sergeiss @ 27.06.2012 - 14:18) |
Lutsk - а зачем так "хитро" объединять строки? Можно то же самое написать намного проще, в виде одной строки; так будет намного проще изменять/дополнять запрос:$query= |
Дело вкуса вобщем-то.
Мне вот не очень нравится, когда нету отступов, как у тебя.
А большие скл запросы я вообще пишу в HEREDOC синтаксисе..
Спустя 34 минуты, 44 секунды (27.06.2012 - 16:38) sergeiss написал(а):
vital - тут дело не в отступах и не в Хередоке, а в том, что у ТС сейчас сделано вообще с конкатенацией строк, очень тяжело воспринимается.. А отступы я тоже делаю, чтобы потом быстрее разбираться в написанном.