[英]column ambigously defined error
我有這個代碼
select people_id,first_name
FROM people , PUBAUTHOR_PEOPLE
WHERE people.people_id = PUBAUTHOR_PEOPLE. people_id
它說列定義不明確,有人知道為什么以及如何解決這個問題嗎?
您應該在表名之前添加表名,如下所示
select people.people_id,people.first_name
FROM people , PUBAUTHOR_PEOPLE
WHERE people.people_id = PUBAUTHOR_PEOPLE. people_id
我建議您使用以下別名來使代碼更具可讀性
select p.people_id,p.first_name
FROM people p, PUBAUTHOR_PEOPLE pp
WHERE p.people_id = pp.people_id
我還建議您使用以下聯接
select p.people_id,p.first_name
FROM people p
join PUBAUTHOR_PEOPLE pp on p.people_id = pp.people_id
現在它更具可讀性,不是嗎?
之所以抱怨,是因為兩個表都有一個名為“ people_id”的列,因此您必須指定要從哪個表讀取數據(即使由於連接條件而相同),如下所示:
SELECT people.people_id,
first_name
FROM people, PUBAUTHOR_PEOPLE
WHERE people.people_id = PUBAUTHOR_PEOPLE.people_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.