下面是我的问题
SELECT
trt.barcode,
trt.emp_id,
et.emp_name,
trt.port_id,
rt.emp_id,
et.emp_name,
rt.port_id,
rt.`floor`,
trt.`floor`
FROM tbl_employee et
INNER JOIN tbl_trns as trt
on et.emp_id= trt.emp_id
left outer join tbl_reg as rt
on trt.barcode = rt.barcode
inner join et
on rt.emp_id=et.emp_id;这个查询的问题是什么?它不会给出唯一的表/别名错误。
发布于 2014-03-29 13:21:38
您正在使用别名et两次。更改其中一个以使其具有唯一性
发布于 2014-03-29 13:21:50
您列出的第一个表是tbl_employee,并为其指定别名et。最后使用的表是一个名为et的表。我假设您正在尝试连接回同一个表。您可以使用同一个表两次,但每次都需要给它一个不同的别名。或者,如果您的RDMS支持,您也可以使用公用表表达式。
发布于 2014-03-29 13:22:38
该错误是适当的。请注意这段代码:
FROM tbl_employee et
INNER JOIN tbl_trns as trt
on et.emp_id= trt.emp_id
left outer join tbl_reg as rt
on trt.barcode = rt.barcode
inner join et 将tbl_employee命名为et,然后上面代码块中的最后一行也是et。命名为tbl_employee et1或emp。
https://stackoverflow.com/questions/22727336
复制相似问题