2014-03-25 24 views
3

我是一個新手,我嘗試這樣做,我的數據庫SQLite的:不明確的列名

SELECT ID FROM導入一個INNER JOIN進口B關於a.id-1 = b.id和b。 VAL = 0 WHERE a.val = -1

鉛:不明確的列名:ID

我的表:

CREATE TABLE "import" (
    "id" INTEGER PRIMARY KEY NOT NULL , 
    "id_analyse" integer, 
    "cross" varchar, 
    "date" datetime, 
    "close" double, 
    "low" double, 
    "high" double, 
    "T" integer DEFAULT (NULL) , 
    "B" INTEGER 
) 

我不理解,因爲我讀

當使用多於一個的表(在一個JOIN例如)可能存在兩列具有相同名稱。

而我只使用一張桌子!

有沒有人可以幫助我?

斯特凡

+0

您正在使用兩個表,'了'和'b ',它們都有'id'列。 – hamstergene

+0

在你的查詢別名名稱a和b兩個同一個表'進口',這可能會導致問題 – Jaihind

回答

9

只要指定你想選擇哪個id

SELECT a.id .... 

而且你的表似乎e.g並未有你在隨後的查詢中使用val列。

+0

好吧,我會建立它的部分代碼在線創建... – user3459402

+0

a.id我得到id無法解析。 –

3

實際上,您在查詢中使用了兩個表格,而不是一個,儘管它們都從相同的基礎物理表中獲取其數據。這些表格被稱爲ab。在這個特定的查詢中,不管你做SELECT a.id還是SELECT b.id,因爲這些值總是相同的。但想象一下,你寫了ON a.id = b.id + 1 - 因爲它有所作爲,無論你是SELECT編輯從ab id列。

+0

好吧,我明白了。 – user3459402

+0

a.id我得到的id無法解析。 –

1

您也可能從WHERE子句中的含糊不清中得到此錯誤。因此,例如,而不是...

WHERE _id = 4

...你可能需要把...

WHERE my_table_name._id = 4