今天在编写sql时,遇到了一个很奇怪的错误,如下:
The column 'saleareaname' was specified multiple times for 'a'.
翻译过来是: 列"saleareaname‘被多次指定为’a‘。
以下是sql语句:
select * from (
SELECT
tb3.saleareaname,
tb2.saleareaname,
tb.saleareaname,
ordertime
FROM
tbasstore ts
LEFT JOIN TCirOrder t ON ts.storeid = t.storeid
LEFT JOIN TBasSaleArea tb ON ts.SaleAreaID = tb.SaleAreaID
LEFT JOIN TBasSaleArea tb2 ON tb.pSaleAreaID = tb2.SaleAreaID
LEFT JOIN TBasSaleArea tb3 ON tb2.pSaleAreaID = tb3.SaleAreaID
--WHERE orderid IS NOT NULL
) a
where ordertime IS NULL
错误原因是select后面的选项tb3.saleareaname,tb2.saleareaname,tb.saleareaname具有相同的列名,解决错误的方法是分别给它们取个不同的别名就好了。