我想选择一些数据,但是我遇到了问题,因为这是一个子查询,并且子查询中的数据使用别名进行连接。我想设置这是因为我将以不同的方式在子查询上运行聚合。这是一个例子。我希望你明白我在这里要做的。这不是我正在使用的实际数据,因此我想使用下面的方法。问题是我试图查询一个具有别名,并有一个别名的联接的子查询。请记住,下面的工作如果我只选择main_query.FullState,如果我有1个连接,但由于我加入两次,我需要添加一个别名。这是我遇到麻烦的地方。加入别名的子查询
USERTABLE ---------------- Name BirthState LivingState David CA CA Roger NY PA
STATESTABLE ---------------- State FullState CA California NY New York PA Philadelphia
select main_query.LivingTable.FullState, count(*) from (
select * from USERTABLE
join STATESTABLE LivingTable on USERTABLE.LivingState = STATESTABLE.State
join STATESTABLE BirthTable on USERTABLE.BirthState = STATESTABLE.State
)main_query
您的问题是,你正在使用'选择*'。切勿使用'select *'。始终只选择需要的列和别名。 – 2014-09-28 13:02:22
@ Nick.McDermaid你是完全正确的。我最终选择了列(40+以上),并解决了我的问题。 – KingKongFrog 2014-09-28 15:41:17