1
我一直在編寫這最後一個問題,並且該文件將在明天由我的SQL Server數據庫類來處理。SQL Server Adventureworks中的公用表表達式出現問題
我應該創建一個CTE,它將創建Employee
表中所有女性員工的業務狀況和性別的臨時表。然後從人員類型爲「EM」的人員名單,員工姓名和人員類型中返回CTE的businessentityid &性別
我的代碼我已將所有性別標籤簡單地轉換爲F和將PersonType更改爲EM,這在我從頭開始的多少次中幾乎變得滑稽。
WITH cte_name2 AS
(
SELECT
FirstName, LastName, PersonType
FROM
Person.Person
), cte_name1 AS
(
SELECT
Gender, BusinessEntityID
FROM
HumanResources.Employee
)
SELECT
cte_name1_1.BusinessEntityID, cte_name1_1.Gender,
cte_name2_1.FirstName, cte_name2_1.LastName, cte_name2_1.PersonType
FROM
cte_name1 AS cte_name1_1
CROSS JOIN
cte_name2 AS cte_name2_1
WHERE
(NOT (cte_name1_1.Gender LIKE N'M'))
AND (cte_name2_1.PersonType = N'EM')
誰能告訴我我做錯了什麼?謝謝。
您需要將BusinessEntityID添加到cte_name2,然後主查詢是BusinessEntityId上的cte_name1和cte_name2之間的內部聯接 – Jayvee
我提出了您建議的更改,但CROSS JOIN不會更改爲INNER JOIN,WHERE子句變爲紅色。 –
您可能需要添加連接謂詞ON:join ... ON cte_name2_1.BusinessEntityID = cte_name1_1.BusinessEntityID,對不起,我無法爲您提供完整的解決方案,因爲我們不應該爲作業做這些工作 – Jayvee