Sql 联合还是左联?

Sql 联合还是左联?,sql,Sql,我试着合并两个表并左连接,但结果不是我想要的。有什么想法吗?请帮助 表a Deduction_No GROUP_ID EMP_ID Service_code AMT PRD533 PRG158 NULL 2351 35 PRD533 PRG158 NULL 4854 160 PRD533 PRG158 NUL

我试着合并两个表并左连接,但结果不是我想要的。有什么想法吗?请帮助

表a

Deduction_No  GROUP_ID    EMP_ID     Service_code    AMT
 PRD533       PRG158      NULL          2351          35    
 PRD533       PRG158      NULL          4854          160        
 PRD533       PRG158      NULL          4857          44          
 PRD533       PRG158      NULL          6611           3              
表b

Deduction_No  GROUP_ID    EMP_ID       Is_Selected    Deduct_Amt
 PRD533         PRG158     001               Y         82
 PRD533         PRG158     001               N         0
 PRD533         PRG158     002               Y         195
 PRD533         PRG158     002               N         0
 PRD533         PRG158     003               Y         79
 PRD533         PRG158     003               N          0 
 PRD533         PRG158     004               Y         107
 PRD533         PRG158     004               N          0
输出,但我不想这样(联合)

使用左连接输出

Deduction_No  GROUP_ID    EMP_ID     Service_code     Deduct_Atm
 PRD533       PRG158      001          2351             35
 PRD533       PRG158      001          4854             160
 PRD533       PRG158      001          4857             44
 PRD533       PRG158      001          6611             3     
 PRD533       PRG158      002          2351             35
 PRD533       PRG158      002          4854             160
 PRD533       PRG158      002          4857             44
 PRD533       PRG158      002          6611             3   
期望输出

Deduction_No  GROUP_ID    EMP_ID     Service_code    AMT
 PRD533       PRG158      001          2351          35 
 PRD533       PRG158      002          2351          35  
 PRD533       PRG158      003          2351          35    
 PRD533       PRG158      001          4854          160        
 PRD533       PRG158      002          4857          44
 PRD533       PRG158      004          4857          44           
 PRD533       PRG158      003          6611           3    
 PRD533       PRG158      004          6611           3  
谢谢您

此查询:

 SELECT a.DEDUCTION_NO, a.GROUP_ID, b.EMP_ID, a.SERVICE_CODE, a.AMT 
 FROM #a a 
 LEFT JOIN #b b ON a.DEDUCTION_NO = b.DEDUCTION_NO 
 WHERE b.IS_SELECTED ='Y'
 ORDER BY Service_code
将为您提供以下输出:

DEDUCTION_NO    GROUP_ID    EMP_ID  SERVICE_CODE    AMT
   PRD533        PRG158        1        2351         35
   PRD533        PRG158        2        2351         35
   PRD533        PRG158        3        2351         35
   PRD533        PRG158        4        2351         35
   PRD533        PRG158        1        4854         160
   PRD533        PRG158        2        4854         160
   PRD533        PRG158        3        4854         160
   PRD533        PRG158        4        4854         160
   PRD533        PRG158        1        4857         44
   PRD533        PRG158        2        4857         44
   PRD533        PRG158        3        4857         44
   PRD533        PRG158        4        4857         44
   PRD533        PRG158        1        6611         3
   PRD533        PRG158        2        6611         3
   PRD533        PRG158        3        6611         3
   PRD533        PRG158        4        6611         3

由于您没有提供更多信息,我无法为您提供帮助,您应该提供如何选择数据、根据谁的条件等。

是的,您可能需要左连接在什么条件下要连接?为什么期望的输出会以这种方式排序?@SkinnyJ,我尝试使用左连接,但显示错误结果。@StanislovasKalašnikovas是按服务排序的(u codedo left join.)。它肯定会给出输出。但我认为这样做是错误的。你能写出你已经应用的查询吗
DEDUCTION_NO    GROUP_ID    EMP_ID  SERVICE_CODE    AMT
   PRD533        PRG158        1        2351         35
   PRD533        PRG158        2        2351         35
   PRD533        PRG158        3        2351         35
   PRD533        PRG158        4        2351         35
   PRD533        PRG158        1        4854         160
   PRD533        PRG158        2        4854         160
   PRD533        PRG158        3        4854         160
   PRD533        PRG158        4        4854         160
   PRD533        PRG158        1        4857         44
   PRD533        PRG158        2        4857         44
   PRD533        PRG158        3        4857         44
   PRD533        PRG158        4        4857         44
   PRD533        PRG158        1        6611         3
   PRD533        PRG158        2        6611         3
   PRD533        PRG158        3        6611         3
   PRD533        PRG158        4        6611         3