0

私は2つのテーブルDepartmentとを持っていEmployeeます。

部門テーブルは次のようになります。

   ID     DeptName
   1      IT
   2      CSE
   3      ECE

従業員テーブル:

   ID     DeptID     EmployeeName    Salary
   1       1         John            10000
   2       1         Bob             15000
   3       2         Akon            12000
   4       2         Smith           20000

次に、これらの列を含む次の結果が得られるようにデータをグループ化します。

  ID      DeptName      Employee 
   1       IT            John,10000
                         Bob,15000

   2       CSE           Akon,12000
                         Smith,20000

SQLグループ関数または他の方法を使用してこのようなことを行うことはできますか?

私を助けてください。

ありがとう、Rajbir

4

1 に答える 1

3

これ:

select final.deptId, d.deptName,
  e3.employeename + ',' + cast(e3.salary as varchar) employee
from employee e3
left join (
  select e1.id, e1.deptId from employee e1
  left join employee e2
  on e1.deptId = e2.deptId and e1.id > e2.id
  where e2.id is null
) final on e3.id = final.id
left join department d on d.id = final.deptId

結果:

+ -------- + ---------- + ------------- +
| DEPTID | DEPTNAME | 従業員|
+ -------- + ---------- + ------------- +
| 1 | IT | ジョン、10000 |
| | | ボブ、15000 |
| 2 | CSE | エイコン、12000 |
| | | スミス、20000 |
+ -------- + ---------- + ------------- +

「空白」の値は実際にはnull値で埋められていることに注意してください。

問題があれば教えてください。

于 2012-04-10T04:47:03.050 に答える