Мое почтение всем ! ) Такой запрос [sql]$sql="SELECT `name`, `style`, `text` FROM `names` INNER JOIN `history` ON `name_id` = `names`.`id` WHERE `page` = '1'"; [/sql] Итог выводит из таблицы name только те продукты, для которых существуют значения в таблице history. Нужно сделать так, чтобы выводились все пункты из таблицы name. Там где для данного name не существует значения в таблице history - нужно , чтобы значение name выводилось, а из history будет пустота cоотво-о . Нужно сделать все в одном запросе. Т.к. работаю сразу с одним массивом.
[sql]SELECT a.one, a.two, (SELECT b.three FROM second AS b WHERE a.three = b.one) as three FROM first AS a WHERE #where_clause# ORDER BY #order_clause#[/sql]
[sql]$sql="SELECT `name`, `style`, `text` FROM `names` LEFT JOIN `history` ON `name_id` = `names`.`id` WHERE `page` = '1'"; [/sql] Выводит то же самое...только то что имеет свзяку. Нужен вывод всего Вот так работает [sql]$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id`"; [/sql] но надо подвязать еще страницу WHERE `page` = '1'
tommyangelo только pages в таблице history попробывал, но не работает... [sql]$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` history.page = 1"; [/sql] есть еще варианты. ??))
если четко через where WHERE history.page = 1 то тогда выбирает первые страницы, но зато не выбирает товары, где вообще нет отписания [sql] $sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` WHERE history.page = 1 ";[/sql] выьирает только товары с первой страницей, но нужны и товары без страниц.))
Вы уже написали правильный запрос выше, только с ошибкой. Наверняка Вы игнорируете одно из основных правил: проверять ошибки везде, где они могут быть. Исправьте Ваш запрос и всё будет работать: SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` and history.page = 1"
Chushkin Спасибо добрый человек ) Теперь ты мой герой )) И воздастся мне сон сегодня ночью..) [sql] $sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` and history.page = '1' "; [/sql]
ссори за навязчивость.) Краснею как могу честно )) появилась необходимость привязать еще одну таблицу , условие то же. tracklist.text names.`id`=tracklist.`name_id` [sql] $sql="SELECT names.`name`, names.`style`, history.`text`, tracklist.`text` FROM names LEFT JOIN history, tracklist ON names.`id` = history.`name_id`=tracklist.`name_id` and history.page = '1' and tracklist.page='1' ";[/sql] Не корректно. Пишет Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/t00t/www/site7/public_html/55/admina.php on line 58
Ура нагуглил ) [sql]$sql="SELECT names.`name`, names.`style`, history.`text`, tracklist.`text_tracklist` FROM names LEFT JOIN history ON names.`id` = history.`name_id` and history.page = '1' LEFT JOIN tracklist ON names.`id` = tracklist.`name_id` and tracklist.page = '1'"; [/sql]