簡體   English   中英

如何使用ms訪問查詢從兩個表中獲取記錄

[英]How to get records from both tables using ms access query

我在Access中有2個表

  1. tbl_Master_Employess
  2. tbl_Emp_Salary

我想顯示與雇員薪水表鏈接的雇員表中的所有雇員,以鏈接兩個表,兩個表中的ID為coluqEmpID

在第二張表中,我有一個日期列。 我需要一個查詢,該查詢應使用特定日期從兩個表中獲取記錄

我嘗試了以下查詢:

select coluqEID as EmployeeID , colEName as EmployeeName,"" as Type, "" as Amt
from tbl_Master_Employee 
union Select  b.coluqEID as EmployeeID, b.colEName  as EmployeeName, colType as Type, colAmount as Amt 
      from tbl_Emp_Salary a, tbl_Master_Employee b  
      where a.coluqEID = b.coluqEID and a.colDate = #12/09/2013# 

但是,它顯示重復項。

查詢4

EmployeeID  EmployeeName    Type    Amt
1           LAKSHMANAN      
1           LAKSHMANAN      Advance 100
2           PONRAJ      
2           PONRAJ          Advance 200
3           VIJAYAN     
4           THIRUPATHI      
5           VIJAYAKUMAR     
6           GOVINDAN        
7           TAMILMANI       
8           SELVAM      
9           ANAMALAI        
10          KUMARAN 

我將如何重寫查詢以避免重復,或者不顯示重復的另一種方式是什么?

查詢的問題是,當您想要的是聯接時,您正在使用聯合。 工會首先要列出所有員工的第一部分:

select coluqEID as EmployeeID , colEName as EmployeeName,"" as Type, "" as Amt from tbl_Master_Employee

然后將所有具有特定日期薪水的員工記錄添加到該列表中。

Select  b.coluqEID as EmployeeID, b.colEName  as EmployeeName, colType as Type, 
colAmount as Amt 
from tbl_Emp_Salary a, tbl_Master_Employee b  
where a.coluqEID = b.coluqEID and a.colDate = #12/09/2013#

您的目標是獲取所有員工的清單,並且僅顯示具有特定日期的員工的薪資信息嗎? 一些樣本數據將很有用。 在這里假設數據: SQL Fiddle此查詢應創建所需的內容。

Select a.coluqEID as EmployeeID, colEName as EmployeeName, 
       b.colType as Type, b.colAmount as Amt
FROM tbl_Master_Employees as a 
LEFT JOIN (select coluqEID, colType, colAmount FROM tbl_EMP_Salary 
           where colDate = '20130912') as b ON a.coluqEID = b.coluqEID;

第一步是創建一個選擇,該選擇將按日期獲得您想要的薪水。 然后,您可以像執行單獨的查詢一樣對此進行連接。 之所以使用LEFT JOIN是因為您想要來自一側的所有記錄(員工),而只希望來自另一側的符合您條件的記錄(工資)。

我認為您需要加入,但是關於唯一名稱的問題。

select **DISTINCT** coluqEID as EmployeeID 

添加唯一運算符將僅給出唯一返回的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM