简体   繁体   English

LEFT JOIN Alias的未知列错误

[英]Unknown column error with LEFT JOIN Alias

I was trying to add aliases to my left joins so that I could do two joins on the same table (different key) but ran in to this problem. 我试图向我的左联接中添加别名,以便可以在同一张表上执行两个联接(不同的键),但是遇到了这个问题。 I've stripped down the query to where the problem is to keep things simple. 我将查询简化为问题所在,以使事情保持简单。

SELECT stock_items.id AS stockid, exchange_rates.rate AS rate
FROM stock_items
LEFT JOIN exchange_rates AS exr ON stock_items.currency = exchange_rates.id

When I run this query I get 当我运行此查询时,我得到

1054 - Unknown column 'exchange_rates.id' in 'on clause' 1054-'on子句'中的未知列'exchange_rates.id'

However if I remove the alias so it looks like this... 但是,如果我删除别名,则它看起来像这样...

SELECT stock_items.id AS stockid, exchange_rates.rate AS rate 
FROM stock_items 
LEFT JOIN exchange_rates ON stock_items.currency = exchange_rates.id

This query runs fine... ? 该查询运行良好...?

if you add an alias , you should use it in your join . 如果添加alias ,则应在join使用它。

SELECT stock_items.id AS stockid, exr.rate AS rate
FROM stock_items
LEFT JOIN exchange_rates exr ON stock_items.currency = exr.id

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM