简体   繁体   中英

ambiguous column error when joining 2 tables which have the same column name

in my table A {ID, FID, Name, Age}
in my table B{ID, Job}

When I use

SELECT ID // I want to get the ID of table B //**error**//
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;

Error : ambiguous column name ID

Is there anyway to do that without having to rename the column name? (The Worst scenario)
Thank you

SELECT TB.ID
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;

Use the full name (table name and column name seperated by a dot) to specifically select a column.

Your query doesn't fit your described table structure, I guess you swapped table A with table B.

SELECT TB.ID  ...

You need to prefix any ambiguous column anywhere with your table alias.

you don't need to rename anything. you just need to specify the source of ambigous field in SELECT clause since such field exists in both sources (tables)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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