2015-02-07 90 views
-3

我在大學學習SQL。卡住一個問題,任何幫助將不勝感激。初學者的SQL幫助請

問:

寫SQL語句來檢索姓和名作爲管理2個或更多項目(點壓頻比)員工的一列「全名」。

背景信息:

EMPLOYEE表有2項,項目表有4個項目表。最後一列是具有員工ID的ProjectManager。其中兩個項目由同一名員工管理。

我有什麼:

Select EMPLOYEE.FirstName+','+EMPLOYEE.LastName AS FullName 
FROM EMPLOYEE 
WHERE count(PROJECT.ProjectManager==EMPLOYEE.EmployeeID) > 1 

編輯: 很抱歉的混亂傢伙。它是一個有4個記錄的PROJECT表。我需要找到ID列在2個不同項目記錄下的員工的名字和姓氏。員工標識進入ProjectManager列。埃米克給出的答案似乎是我所需要的。

+1

什麼是你寫的嗎?它靠近嗎? – wallyk 2015-02-07 00:25:01

+0

'帶4個項目表的項目表'等 - 什麼?這是否意味着項目表中有4個條目?每個表的模式在哪裏?聽起來你需要將兩張桌子結合在一起。 – Bridge 2015-02-07 00:26:41

+0

請[編輯]您的問題標題,描述您要求我們幫助您解決的問題。標題應該是將信息傳遞給未來的讀者的網站,並在搜索結果中找到它。你需要幫助的事實很清楚,因爲你在這裏提出了一個問題,並且*初學者的SQL幫助*沒有任何有意義的信息。用4個項目表*解釋* PROJECT表的含義,並用你發佈的內容解釋問題。它工作嗎?如果不是,它不起作用的方式?它會返回錯誤的內容嗎?它是否返回沒有內容? – 2015-02-07 00:33:57

回答

1

這可能有幫助;

Select E.FirstName+','+E.LastName AS FullName 
FROM EMPLOYEE E, PROJECT P 
WHERE 
E.EmployeeId = P.ProjectManager 
GROUP BY E.FirstName,E.LastName, E.EmployeeId 
HAVING COUNT(*) > 1 
1

ANSI標準版

SELECT e.FirstName + ',' + e.LastName AS FullName 
    FROM employee AS e 
    INNER JOIN project AS p 
    OM e.EmployeeId = p.ProjectManager 
    GROUP BY e.FirstName, e.LastName, e.EmployeeId 
    HAVING COUNT(*) >= 2; 

參見轉到:ANSI vs. non-ANSI SQL JOIN syntax

+0

ANSI SQL有||對於concat ...並且從table1中選擇...,table2是ANSI SQL,只是語法的一個較老的版本 - 但仍然支持! – jarlh 2015-02-09 08:28:59