到目前为止,我已经有了这个,但是列' name‘不明确,所以我想将modle表中的name列更改为其他列(还有一个name列是student表)。我该怎么做呢?
SELECT name
FROM student
JOIN modle ON modle.id = event.modle
JOIN event ON event.id = attends.event
JOIN attends ON attends.student = student.id
WHERE name LIKE '%Database%'发布于 2012-06-15 11:00:34
列别名允许您为特定结果集创建自己的列名。
示例:
SELECT modle.`name` AS model_name, student.`name` AS student_name
FROM student
JOIN modle ON modle.id = event.modle
JOIN event ON event.id = attends.event
JOIN attends ON attends.student = student.id
WHERE name LIKE '%Database%';如果希望永久更改列名,请使用ALTER TABLE命令:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
示例:
ALTER TABLE student
CHANGE COLUMN `name` student_name VARCHAR(50);http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
发布于 2012-06-15 10:57:17
您可以使用表作为列的前缀,以避免歧义,并提供别名。
例如:
SELECT modle.name, student.name AS student_name FROM …但是,我主张在这种情况下更改列名,因为name在某些SQL语言中是保留字。
您可以使用ALTER TABLE命令或数据库管理器来完成此操作。
ALTER TABLE modle CHANGE COLUMN name modle_name [column_definition]https://stackoverflow.com/questions/11044024
复制相似问题