0

こんにちは、表示する必要があるクエリを作成する必要があります。

  • マネージャー番号
  • マネージャーの氏名 (最初、中間、および最後の列の組み合わせ)
  • 従業員番号
  • 従業員のフルネーム (名、ミドルネーム、姓)

そして、それらはすべて、ある特定のマネージャー、Dave に向けられたものでなければなりません。Dave の従業員 ID は 100 です。

これまでのところ、

SELECT 
    EMP_MGR as "Manager's Number", 
    EMP_NUM as "Employee's Number", 
    EMP_FNAME || ' ' || EMP_INITIAL || '. ' || EMP_LNAME AS "Employee's Full Name", 

FROM EMP
    WHERE EMP_MGR = 108

どこかで結合を使用する必要があることはわかっていますが、その方法についてはかなり迷っています。

4

3 に答える 3

0

あなたはこれを行うことができます

select
    M.EMP_NUM as "Manager's Number", 
    M.EMP_FNAME + ' ' + M.EMP_INITIAL + '. ' + M.EMP_LNAME AS "Manager's Full Name", 
    E.EMP_NUM as "Employee's Number", 
    E.EMP_FNAME + ' ' + E.EMP_INITIAL + '. ' + E.EMP_LNAME AS "Employee's Full Name"
from EMP as M
    inner join EMP as E on E.EMP_MGR = M.EMP_NUM 
where M.EMP_NUM = 100
于 2012-11-19T14:24:01.210 に答える
0
SELECT 
    A.EMP_MGR as "Manager's Number", 
    B.EMP_NUM as "Employee's Number", 
    A.EMP_FNAME || ' ' || A.EMP_INITIAL || '. ' || A.EMP_LNAME AS "Manager's Full Name",
    B.EMP_FNAME || ' ' || B.EMP_INITIAL || '. ' || B.EMP_LNAME AS "Employee's Full Name", 

FROM EMP A
INNER JOIN EMP B ON A.EMP_NUM = B.EMP_MGR AND A.EMP_NUM = 108
于 2012-11-19T14:26:50.593 に答える
0

これを試して:

select
    M.EMP_NUM as "Manager's Number", 
    M.EMP_FNAME + ' ' + M.EMP_INITIAL + '. ' + M.EMP_LNAME AS "Manager's Full Name", 
    E.EMP_NUM as "Employee's Number", 
    E.EMP_FNAME + ' ' + E.EMP_INITIAL + '. ' + E.EMP_LNAME AS "Employee's Full Name"
from EMP as M
    inner join EMP as E on E.EMP_MGR = M.EMP_NUM 
where M.EMP_NUM = '100'

唯一の違いは、100 を一重引用符で囲んだことです。私の推測では、「EMP_NUM」というフィールドは数値ではなく文字列として格納されていると思います。もしそうなら、本当に悪い名前を選んだデータベース設計者に文句を言ってください。役に立ちません。. . しかし、彼らは知っているかもしれません。

于 2012-11-19T14:45:01.783 に答える