2013-07-02 20 views
8

Tôi mới vào SQL, tôi biết điều này thực sự là cơ bản nhưng tôi thực sự không biết làm thế nào để làm điều đó! Tôi đang tham gia hai bảng, mỗi bảng cho phép nói có 5 cột, tham gia chúng sẽ cho tôi 10 cột trong tổng số mà tôi thực sự không muốn. Những gì tôi muốn là chọn các cột cụ thể từ cả hai bảng để chúng chỉ hiển thị sau khi tham gia. (Tôi chỉ muốn giảm kết quả tham gia của mình cho các cột cụ thể)Tham gia hai bảng với các cột cụ thể

SELECT * FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

Cú pháp trên sẽ cho tôi tất cả các cột mà tôi không muốn. Tôi chỉ muốn EmpName, Địa chỉ từ bảng tblEmployees và Tên, Địa chỉ, dự án từ bảng tbSupervisor

Tôi biết bước này:

SELECT EmpName, Address FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

nhưng tôi không chắc chắn về bảng giám sát.

Tôi đang sử dụng SQL Server.

+0

Bạn chỉ cần nhập các tên cột bạn cần từ mỗi bảng. – Taryn

Trả lời

13

Đây là những gì bạn cần:

Select e.EmpName, e.Address, s.Name, S.Address, s.Project 
From tbEmployees e 
JOIN tbSupervisor s on e.id = SupervisorID 

Tuy nhiên, tôi chắc chắn sẽ khuyên bạn nên đọc lên một số chi tiết trên SQL. http://www.w3schools.com/sql/default.asp là một nơi tốt để bắt đầu.

+0

Chỉnh sửa phút cho MS SQL ... 'Chọn e.EmpName, e.Address, s.Name, S.Address, s.Project Từ tbEmployees e JOIN tbSupervisor s trên e.id = s.SupervisorID' –

8

Bạn có thể nhận các cột từ bảng cụ thể, hoặc bằng cách ghi rõ họ tên của họ hoặc sử dụng một bí danh:

SELECT E.EmpName, E.Address, S.Name, S.Address, S.Project 
FROM tbEmployees E 
INNER JOIN tbSupervisor S ON E.ID = S.SupervisorID 
1

Bạn cần phải tìm hiểu về bí danh. Họ sẽ làm cho truy vấn của bạn dễ bảo trì hơn. Ngoài ra, bạn nên luôn luôn sử dụng bí danh khi tham khảo các cột, vì vậy truy vấn của bạn là rõ ràng về những gì nó đang làm:

SELECT e.EmpName, e.Address, s.name, s.address as SupervisorAddress 
FROM tbEmployees e JOIN 
    tbSupervisor s 
    ON e.ID = s.SupervisorID; 

Lưu ý rằng tôi cũng đổi tên thành địa chỉ thứ hai để tên của nó là duy nhất.

4

Bạn có thể sử dụng tên bảng như là một phần của đặc tả cột:

SELECT tbEmployees.EmpName, tbEmployeesAddress, tbSupervisor.Name, 
     tbSupervisor.Address, tbSupervisor.project 

FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 
1

Xác định tên bảng và tên trường trong lựa chọn của bạn

CHỌN tbEmployees.EmpName, tbEmployees.Address, tbSupervisor [. tên cột]

TỪ tbEmployees

THAM GIA tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID

3
 


    SELECT employees.EmpName, employees.Address AS employeer address, 
      supervisor.Name, supervisor.Address AS supervisor address,supervisor.project 
    FROM tbEmployees 
     AS employees 
    JOIN tbSupervisor 
     AS supervisor 
    ON 
     employees.ID = supervisor.SupervisorID