2017-01-17 19 views
0

爲我們的電話路由工作一個腳本,並且我遇到了這個問題,每當我嘗試查詢「用戶」表上的「擴展名」字段時,它告訴我擴展名不存在「名稱」實體。引用錯誤的表

SELECT 
u.Phone "Owner Phone", 
u.Extension, 
u.id "Owner User ID", 
l.Phone "Lead Phone", 
l.IsConverted 


From 
Lead l, 
User u 
JOIN user u 
on u.id = l.ownerid 

Where 
    (l.Phone = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4)) OR l.Phone_Secondary__c = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4)) OR l.Co_Client_Phone__c = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4))) 

這是我當前的代碼,以下是我得到的錯誤。

INVALID_FIELD 
SELECT Lead.Owner.Phone,Lead.Owner.Extension,Lead.Owner.id 
^ 
ERROR at Row:1:Column:25 
No such Column 'Extension' on entity 'Name'. If you are attempting to use a please append the '__c' 

我已經verfied我拉着領域是正確的,如果我只是做

Select Extension From user 

它工作正常,我查詢結果。

+0

您最初的SQL代碼加入表'User'兩次給它相同的別名兩次!你真的打算這麼做嗎?如果是這樣,解釋原因。如果沒有,我認爲沒有多餘的表格可能會奏效。 – MAP

回答

0

正如MAP所說,問題在於你的加入。如果刪除逗號別名後爲引領表,查詢應正確執行:

SELECT 
u.Phone "Owner Phone", 
u.Extension, 
u.id "Owner User ID", 
l.Phone "Lead Phone", 
l.IsConverted 


From 
Lead l 
JOIN user u 
on u.id = l.ownerid 

Where (l.Phone = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4)) OR l.Phone_Secondary__c = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4)) OR l.Co_Client_Phone__c = CONCAT('(', SUBSTRING('%ANI%',3,3), ') ', SUBSTRING('%ANI%',6,3), '-', SUBSTRING('%ANI%',9,4))) 
+0

可悲的是,即使刪除多餘的「用戶你」,我仍然得到相同的錯誤。任何想法爲什麼它可能會說在名稱表上找不到它? –

+0

如果從select語句中刪除u.Extension,查詢是否成功運行? – DSilvis

+0

是的,它沒有u.extension。 –