0

以下を印刷するSQLを書くのに助けが必要です

表 1 : Emp_Master

Emp_ID   FirstName
------------------------------
1            John
2            Mark
3            Steve

表 2 : Emp_Transaction

Trans ID    Emp_ID    Payment_Date  Paid_status
---------------------------------------------------------
1               1             01/07/13         True
2               1             01/15/13         False
3               1             01/21/13         False
4               2             01/07/13         False
5               2             01/15/13         False
6               2             01/21/13         False
7               3             01/07/13         True
8               3             01/15/13         True
9               3             01/21/13         False

結果は次のように表示されます (未払いの最も古い日付)

Emp_ID   FirstName            Payment_Date        Paid_Status
--------------------------------------------------------------
1             John                  01/15/13           False
2             Mark                  01/07/13           False
3             steve                 01/21/13           Fals
4

4 に答える 4

2

私は最初の答えを過度に複雑にしました。必要なのはこれだけです。

SELECT Emp_Master.Emp_ID Emp_ID, FirstName, MIN(Payment_Date) Payment_Date,  Paid_Status
FROM Emp_Master
 INNER JOIN  Emp_Transaction ON Emp_Master.Emp_ID = Emp_Transaction.Emp_ID
WHERE Paid_Status = 'false'
GROUP BY Emp_Master.Emp_ID, FirstName, Paid_Status
于 2013-02-28T03:49:36.297 に答える
1

このクエリを試してください

SELECT e.Emp_ID, e.FirstName, min(Payment_Date), et.Paid_Status 
FROM Emp_Master e, Emp_Transaction et
WHERE e.Emp_ID = et.Emp_ID AND et.Paid_Status= 'False' 
GROUP BY  e.Emp_ID, e.FirstName, et.Paid_Status 
于 2013-02-28T03:52:58.177 に答える
0

これを試して

  select model1.Emp_ID  ,
         model1.FirstName ,
         min(model2.Payment_Date) ,
         model2.Paid_Status
         from Emp_Master model1 ,Emp_Transaction model2 
         where model1.Emp_ID  =  model2.Emp_ID GROUP BY  model1.Emp_ID, model2.FirstName;
于 2013-02-28T03:46:37.273 に答える
-1

これに使えますJoin

Emp_Master e、Emp_Transaction t から e.Emp_ID、e.FirstName,min(t.Payment_Date)、t.Paid_status を選択します。ここで、e.Emp_ID = t.Emp_ID および t.Paid_Status = 'false';

于 2013-02-28T03:49:00.007 に答える