I have 3 tables vendors, components and catalog, here is the schema:
vendors – vid,vaddress,vname
components- cid, cname, type
catalog- cid, vid, cost
catalog is connected with the 2 tables with a foreign key vid and cid.
Query:
select vid
from catalog c,
components com,
vendors v
where com.cid = c.cid and c.vid = v.vid and v.vaddress = 'Noida'
or c.cname = 'antenna';
ERROR 1052 (23000): Column ‘vid’ in field list is ambiguous.
I am getting this error.
2
Answers
You need to select
c.vid
. Even when they are the same by the condition, you need to specivy which value you want to select, since justvid
could be eigtherc.vid
orv.vid
Both the
components
andvendors
tables have avid
column, so selectingvid
without a scoping alias or table name is ambiguous because it is not clear which table you are referring to. On top of this, you should be using modern explicit joins. Consider this version: