该查询产生一条错误消息。为什么会这样?可以做些什么来纠正查询?查询错误,列模糊
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE LANGUAGE = LANG_ID
AND PLACE_SENT = CITY_ID ;
错误:
Query could not be executed : 1052: Column 'LANGUAGE' in where clause is ambiguous
该查询产生一条错误消息。为什么会这样?可以做些什么来纠正查询?查询错误,列模糊
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE LANGUAGE = LANG_ID
AND PLACE_SENT = CITY_ID ;
错误:
Query could not be executed : 1052: Column 'LANGUAGE' in where clause is ambiguous
1:这意味着这两个表。你需要指定你想获得哪一个中提出LANGUAGE
列。
第二:你需要使用table
名称与column name
避免列名ambiguous
error
SELECT LETTER.NAME, LETTER.DATE
FROM LETTER , LANGUAGE, CITY
WHERE LETTER.LANGUAGE = LANGUAGE.LANG_ID
AND LETTER.PLACE_SENT = CITY.CITY_ID ;
所以LANGUAUGE列存在于一个以上的表。因此,你需要澄清你想选择此列的表。请还可以添加的表名where
条款
SELECT LETTER.NAME, LETTER.DATE
FROM LETTER , LANGUAGE, CITY
WHERE LETTER.LANGUAGE = LANGUAGE.LANG_ID
AND LETTER.PLACE_SENT = CITY.CITY_ID ;
在当我有猜测:
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE LETTER.LANGUAGE = LANG_ID
AND PLACE_SENT = CITY_ID ;
或
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE CITY.LANGUAGE = LANG_ID
AND PLACE_SENT = CITY_ID ;
或
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE LANGUAGE.LANGUAGE = LANG_ID
AND PLACE_SENT = CITY_ID ;
或
SELECT NAME, DATE
FROM LETTER, LANGUAGE, CITY
WHERE LANGUAGE.ID = LANG_ID
AND PLACE_SENT = CITY_ID ;
可能会解决您的问题。
有一个表名为LANGUAGE,属性名称为LANGUAGE。 我在你的查询中用粗体文本标记了它们。也确实提到了在where子句为table.attribute的 看看下面
SELECT名称,日期 从letter,语言,市 WHERE 表。语言 = LANG_ID AND 表。 PLACE_SENT = CITY_ID;
发布您的错误消息以及 – tharif
什么是错误消息?以及你在哪个数据库上运行这个查询? – ayush
无法执行查询: 1052:where子句中的'LANGUAGE'列含糊不清 – Romero1994