2012-10-16 33 views
10

Tôi có một bảng với một cột IDSERVICE_TYPE_TEXT, và một bảng với các cộtSQL tham gia, nhận được nhiều cột với cùng một tên

ID, SERVICE_TYPE ... 

và rất nhiều cột khác.

SERVICE_TYPE trong bảng thứ hai chứa số ID từ bảng đầu tiên. Tôi muốn truy vấn để tôi có thể lấy số SERVICE_TYPE_TEXT từ bảng đầu tiên khớp với số ID được đưa ra trong bảng thứ hai.

Tôi đã cố gắng tham gia và đặt các tên khác nhau trên ID với AS, nhưng luôn ở cuối kết quả truy vấn tôi nhận được ID ban đầu từ bảng đầu tiên có tên cột ID, cũng như tên tôi đã xác định trong AS.

Bất kỳ đề xuất nào về cách tôi có thể lấy ID từ bảng đầu tiên để tránh xa? :)

+1

Xin vui lòng gửi chọn tuyên bố của bạn trong câu hỏi, có thể là phần mà bạn đang chọn tên cột – Habib

+0

đăng truy vấn thực tế với cấu trúc bảng mẫu chắc chắn là sẽ giúp đây. –

+0

Có lẽ bạn nên xóa '*' gần như chắc chắn ở đâu đó trong mệnh đề 'SELECT' của bạn (tất nhiên, điều này sẽ dễ chẩn đoán hơn nếu chúng ta có thể xem * truy vấn của bạn) –

Trả lời

11

Hãy thử một cái gì đó như thế này,

SELECT a.ID AS ServiceID, 
     a.Service_Type_Text, 
     b.ID AS table2ID, 
     b.Service_Type 
FROM table1 a 
     INNER JOIN table2 b 
      ON a.ID = b.Service_Type 
+0

bạn muốn gì cho' table2'? –

2

TRY

SELECT a.ID AS ServiceID, 
     a.Service_Type_Text, 
     b.ID AS table2ID, 
     b.Service_Type 
FROM table1 a 
     INNER JOIN table2 b 
      ON a.ID = b.Service_Type AND b.ID='YOUR_ID'; 
7

Đặt câu hỏi của bạn để nó trả về tất cả dữ liệu từ bảng thứ hai nhưng chỉ có trường bắt buộc (cột) từ đầu tiên .
Something như thế này:

SELECT TAB1.SERVICE_TYPE_TEXT, TAB2.* 
FROM TAB1 
INNER JOIN 
TAB2 
ON TAB1.ID = TAB2.SERVICE_TYPE 
+0

Đó là những người làm việc hoàn hảo, than vãn! – Aune

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