【问题标题】:ORA-00918 Column ambiguously defined [closed]ORA-00918 列定义不明确 [关闭]
【发布时间】:2016-03-14 23:46:06
【问题描述】:
 SELECT INDIVIDUAL.INV_FNAME,
INDIVIDUAL.INV_LNAME,
INDIVIDUAL.INV_IC_NUM,
CUSTOMER.MEMBER_LEVEL,
CUSTOMER.MEMBER_POINT_BALANCE,
CUSTOMER.MEMBER_DISCOUNT_RATE,
PROGRAM_USER.USER_CONTACT_NUM,
PROGRAM_USER.USER_ADDRESS,
PROGRAM_USER.USER_CITY,
PROGRAM_USER.USER_STATE,
PROGRAM_USER.USER_ZIP_CODE,
PROGRAM_USER.USER_COUNTRY,
PROGRAM_USER.USER_EMAIL 
FROM PROGRAM_USER,CUSTOMER,INDIVIDUAL 
WHERE USER_ID = ‘san’;

【问题讨论】:

标签: sql oracle


【解决方案1】:

在您的查询中,只有 where 条件中的 USER_ID 列没有用表名指定。我猜 USER_ID 存在于多个表中。使用正确的表名尝试 where 条件

SELECT INDIVIDUAL.INV_FNAME,
INDIVIDUAL.INV_LNAME,
INDIVIDUAL.INV_IC_NUM,
CUSTOMER.MEMBER_LEVEL,
CUSTOMER.MEMBER_POINT_BALANCE,
CUSTOMER.MEMBER_DISCOUNT_RATE,
PROGRAM_USER.USER_CONTACT_NUM,
PROGRAM_USER.USER_ADDRESS,
PROGRAM_USER.USER_CITY,
PROGRAM_USER.USER_STATE,
PROGRAM_USER.USER_ZIP_CODE,
PROGRAM_USER.USER_COUNTRY,
PROGRAM_USER.USER_EMAIL 
FROM PROGRAM_USER,CUSTOMER,INDIVIDUAL 
WHERE PROGRAM_USER.USER_ID = ‘san’;

也像@HoneyBadger 注释一样,您需要指定表之间的连接

【讨论】:

  • @cyrus u r 欢迎兄弟..但请确保您定义了表之间的连接
  • @downvoter 你能告诉我为什么吗?
猜你喜欢
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多