Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
雇员表的SQL查询_Sql_Vb.net - Fatal编程技术网

雇员表的SQL查询

雇员表的SQL查询,sql,vb.net,Sql,Vb.net,我需要帮助来编写SQL以打印以下内容 表1:环境管理硕士 Emp_ID FirstName ------------------------------ 1 John 2 Mark 3 Steve 表2:Emp_交易 Trans ID Emp_ID Payment_Date Paid_status ---------------------------------------------------------

我需要帮助来编写SQL以打印以下内容

表1:环境管理硕士

Emp_ID   FirstName
------------------------------
1            John
2            Mark
3            Steve
表2:Emp_交易

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
结果应该这样打印(最早的未付日期)

试试这个

  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;

您可以为此使用
Join

选择e.Emp\U ID、e.FirstName、min(t.Payment\U日期), t、 Emp_Master e的付费状态, Emp_事务t,其中e.Emp_ID=t.Emp_ID,t.Paid_Status='false'


我的第一个答案过于复杂了。这就是你所需要的

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
请尝试此查询

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 

MIN(Payment_Date)状态为false,不是吗?@SenJacob Correct-修复了我的回答这没有获得最低付款日期您应该使用显式连接表示法。这也缺少付费状态它怎么会缺少付费状态?我没有抓到你。它不在选择列表中?太好了,非常感谢你的帮助,我拉扯了两个小时的头发。你错过了一个加入你的小组的机会。您还应该使用显式连接表示法
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