Mysql中对两个表进行连接查询时的问题?
要对两个表进行连接查询,但是两张表中有相同的字段id,查询的话提示column'id'infieldlistisambiguous要怎么做才能把两个表中的相同名称的字段分...
要对两个表进行连接查询,但是两张表中有相同的字段id,查询的话提示column 'id' in field list is ambiguous
要怎么做才能把两个表中的相同名称的字段分开呢?
我还想在查询中用left取结果的一部分,但是用 表名.left(字段名称,$num)不行啊,这个该怎么写啊? 展开
要怎么做才能把两个表中的相同名称的字段分开呢?
我还想在查询中用left取结果的一部分,但是用 表名.left(字段名称,$num)不行啊,这个该怎么写啊? 展开
展开全部
column 'id' in field list is ambiguous
这个错误,是因为你查询语句里面有id字段的时候,没有说明是哪个表的id字段,应该加上表名(或者别名)来区分。
用表名进行区分的例子:
select student.id, student.name, score.total
from student, score
where student.id = score.id
使用别名的例子:
用表名进行区分的例子:
select s.id, s.name, c.total
from student s, score c
where s.id = c.id
许多教材都大量使用别名,其实对于初学者,我建议大家看得懂别名就行,自己写的时候用表名好
补充:LEFT函数的参数必须是字段,字段的完成形式是加上表名的,LEFT前面弄个表名就会语法错误的,应该这样:
select left(student.name, 10) .....
这个错误,是因为你查询语句里面有id字段的时候,没有说明是哪个表的id字段,应该加上表名(或者别名)来区分。
用表名进行区分的例子:
select student.id, student.name, score.total
from student, score
where student.id = score.id
使用别名的例子:
用表名进行区分的例子:
select s.id, s.name, c.total
from student s, score c
where s.id = c.id
许多教材都大量使用别名,其实对于初学者,我建议大家看得懂别名就行,自己写的时候用表名好
补充:LEFT函数的参数必须是字段,字段的完成形式是加上表名的,LEFT前面弄个表名就会语法错误的,应该这样:
select left(student.name, 10) .....
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询