2012-03-27 56 views
0
SELECT E.flmavailable_date,E.flmavailable_num_licenses, flmavailable_product AS SERVER 
FROM (SELECT flmavailable_num_licenses,flmavailable_date 
     FROM licenses_available 
     ORDER BY flmavailable_num_licenses ASC) E 
WHERE flmavailable_product <= 4; 

錯誤:---在「字段列表」未知列「flmavailable_product」有關SQL查詢

即使有場這個名字我收到錯誤調用。 我需要幫助解決這個

回答

0

你的外select正試圖從你的內心select選擇flmavailable_product,尚未有在內部查詢沒有這樣的領域。

您是否可以包含licenses_available表的模式以及您的查詢要返回的內容的描述?這會讓你更容易幫助你。根據你的查詢,看起來你可能不需要內部子查詢。

+0

我需要獲得頂級許可證用戶 – Raj 2012-03-27 12:23:33

0

您需要包括在內部子查詢flmavailable_product場,如果它是在licences_available表中的列,或者加入到含有這一領域內查詢相應的表格:

SELECT E.flmavailable_date,E.flmavailable_num_licenses,flmavailable_product AS SERVER 
FROM (SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product 
     FROM licenses_available ORDER BY flmavailable_num_licenses ASC)E 
    WHERE flmavailable_product <= 4; 

而且,不知道爲什麼你使用內部的子查詢,因爲它只是一個直接的選擇

0

這是你想寫的查詢。

SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product AS SERVER 
    FROM licenses_available 
    WHERE flmavailable_product <= 4 
    ORDER BY flmavailable_num_licenses ASC 
+0

在此上下文中不需要子查詢。 – Gopal 2012-03-27 12:25:40

+0

非常感謝gopal – Raj 2012-03-27 12:27:33

0

一般選擇查詢的結構是:

SELECT a,b,c FROM `table` 
WHERE x<=y 

這裏你內心的查詢充當表。但是,您的內部查詢僅返回兩列:flmavailable_num_licenses & flmavailable_date。

在您的外部查詢中,當您嘗試選擇列('flmavailable_product')在表(內部查詢)中不可用時出現錯誤。

這很明顯是由錯誤('字段列表'中的未知列'flmavailable_product')顯示的。

要解決此問題,您需要在內部查詢中選擇flmavailable_product,或者如果它不存在,請使用join將所需列存在的表中加入。

請提供精確查詢的表結構。