2013-08-05 36 views
5

Tôi có hai bảng, Giao dịch và Master. Bảng giao dịch hiển thị id từ và đến hoạt động. Master hiển thị id hoạt động và tên. Từ và đến id sử dụng cùng một bảng chính để liên kết id và tên hoạt động. Những gì tôi muốn làm là lấy sự khác biệt từ và đến các giá trị và hiển thị chúng với tên liên quan.Nhiều cú pháp SQL tham gia?

Truy vấn ban đầu là

select distinct a.from, a.to from Transaction a 

Những gì tôi cần cái gì đó mà a.from Tiếp theo là b.name và a.to Tiếp theo là b.name

Tôi biết rằng tôi phải là có một gia nhập nhưng tôi cần sự tham gia để áp dụng cho mỗi a.values ​​khác biệt.

Trong khái niệm tôi muốn thực hiện 2 phép nối với một tham gia trên mỗi giá trị a.values ​​nhưng tôi không chắc chắn cách phân định giá trị từ và giá trị.

+1

Tham gia bảng chính hai lần. Ví dụ: http://stackoverflow.com/a/4267979/12601 – Greg

+0

Bạn có thể thêm ví dụ đơn giản với 3 cột từ mỗi bảng và ví dụ về kết quả bạn muốn từ truy vấn không? – user1676075

Trả lời

7
select distinct a.from, f.name as FromName, a.to, t.name as ToName 
from Transaction a 
join Master F on a.from = f.id 
join Master T on a.to = f.id 
+0

Đây là những gì Greg cũng đề xuất. Bằng cách cho cùng một bảng hai bí danh, tôi có thể tham gia hai trường độc lập với nhau. Cảm ơn mọi người đã giúp đỡ. –

Các vấn đề liên quan