[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: INNER JOIN и алиасы
Zzepish
Есть запрос:
SELECT `voting`.`id` AS voting_id, `voting`.`author`, `voting`.`question`, `voting`.`name`,
`voting_vars`.`id` AS vars_id, `voting_vars`.`voting_id`, `voting_vars`.`variant`
FROM
`voting`
INNER JOIN
`voting_vars`
ON
`voting`.`id`= vars_id
WHERE
`voting`.`id`='.(int)$_GET['edit'].'
AND
`voting`.`author`="'.$_SERVER['REMOTE_ADDR'].'"


я не могу понять, как сделать алиасы для второй таблицы? (voting_vars).
Ести так, как сейчас- выдает ошибку: Unknown column 'vars_id' in 'on clause'
TMake
alias делается через AS. Для второй таблицы сделать: INNER JOIN `voting_vars` AS `qwe`
Но у тебя ошибка в то что не найдена колонка с таким названием
Свернутый текст

SELECT `voting`.`id` AS voting_id, `voting`.`author`, `voting`.`question`, `voting`.`name`,
`voting_vars`.`id` AS vars_id, `voting_vars`.`voting_id`, `voting_vars`.`variant`
FROM
`voting`
INNER JOIN
`voting_vars`
ON
`voting`.`id`= `voting_vars`.`id`
WHERE
`voting`.`id`='.(int)$_GET['edit'].'
AND
`voting`.`author`="'.$_SERVER['REMOTE_ADDR'].'"
Zzepish
stepan
я знаю ошибку. Просто у меня 2 колонки id. Так вот- они мне обе нужны.
Я никак не могу понять- как во второй таблице запилить алиас.
Хотя. В первой запилю, а вторая пусть и идет как id
TMake
Zzepish а что мешает писать так? `название_таблицы`.`id`
где тебе нужен будет id при выводе? в условиях?
Zzepish
stepan
в переменных(массивах).
Я уже решил задачу. ПРосто у первой написал алиас, а вторая пошла и под стандартным id
Zzepish
Еще вопрос: реально ли удалить через INNER join?
Что-то в таком стиле:

DELETE FROM `voting`
left JOIN
`voting_vars`
ON
`voting`.`id`=`voting_vars`.`id`
WHERE
`voting`.`id`=1

Т.е. мне нужно удалить из voting запись! но только если сработает inner join
TMake
Цитата (Zzepish @ 18.12.2013 - 00:10)
Еще вопрос: реально ли удалить через INNER join?

А если проверить самому?
Для таких экспериментов в PMA есть вкладка SQL, где такие вопросы проверяются.
Zzepish
stepanне получается. Может синтаксисом ошибся.Такая возможность вообще есть?
TMake
Zzepish согласно этому доку http://dev.mysql.com/doc/refman/5.0/en/delete.html это возможно

пример:
DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;
mvg
Если foreign key не выдаст restrict то можно удалить делая выборку с джоин.
Zzepish
stepan
спасибо.
Я не совсем понял механику этого момента: DELETE t1 FROM. Но так работает.

mvg
эх, придется мне мускуль подучить)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.