2014-01-23 28 views
0

我需要兩個組合列上的內部連接。內部連接兩個組合列的值

SELECT 
    [FullName], [Email], [Phone], [Goal], [TimeOfLead], [Location], [IPAddress] 
FROM 
    [Leads] 
INNER JOIN 
    Clinics on [Clinics.City] + ', ' + [Clinics.State] as Location = Leads.Location 
WHERE 
    Leads.Location = Clinics.Location 

LeadsLocation永遠是一樣的,在clinicscitystate

如果我沒有解釋得這麼好,請讓我知道,我會修改這個問題。

回答

2

這應該這樣做。您不需要再次使用WHERE子句,因爲您在INNER JOIN本身中進行連接。

SELECT DISTINCT 
    L.[FullName], L.[Email], L.[Phone], L.[Goal], L.[TimeOfLead], L.[Location], L.[IPAddress] 
FROM 
    [Leads] L 
INNER JOIN 
    Clinics C on L.Location = C.City + ', ' + C.State 

這是一個SQL小提琴與一些示例數據和工作查詢。 http://sqlfiddle.com/#!3/f53eb/2

創建表,填寫示例數據

CREATE TABLE Leads 
( 
    FullName NVARCHAR(50) NULL, 
    Email NVARCHAR(50) NOT NULL, 
    Phone NVARCHAR(20) NULL, 
    Goal NVARCHAR(50) NULL, 
    TimeOfLead NVARCHAR(50) NULL, 
    Location NVARCHAR(50) NOT NULL, 
    IPAddress NVARCHAR(50) NULL 
); 

CREATE TABLE Clinics 
(
    ClinicName NVARCHAR(40) NOT NULL, 
    City NVARCHAR(40) NOT NULL, 
    State NVARCHAR(2) NOT NULL, 
); 

INSERT INTO Leads (FullName, Email, Location) VALUES 
('John Duh', '[email protected]', 'San Francisco, CA'), 
('Jane Dough', '[email protected]', 'Austin, TX'), 
('Bill Clinton', '[email protected]', 'Hope, AK'); 

INSERT INTO Clinics VALUES 
('San Fran Clinic','San Francisco','CA'), 
('Austin Clinic','Austin','TX'), 
('Boise Clinic','Boise','ID'), 
('Hope Clinic','Hope','AK'); 

執行查詢。

SELECT DISTINCT 
    L.[FullName], L.[Email], L.[Phone], L.[Goal], L.[TimeOfLead], L.[Location], L.[IPAddress] 
FROM 
    [Leads] L 
INNER JOIN 
    Clinics C on L.Location = C.City + ', ' + C.State 

成績

FULLNAME EMAIL PHONE GOAL TIMEOFLEAD LOCATION IPADDRESS 
John Duh [email protected] (null) (null) (null) San Francisco, CA (null) 
Jane Dough [email protected] (null) (null) (null) Austin, TX (null) 
Bill Clinton [email protected] (null) (null) (null) Hope, AK (null) 
+0

,工程很大,但它顯示的每一行兩次 – prospector

+2

這可能是因爲有對每個鉛或診所的多個記錄。使用「SELECT DISTINCT」獲取唯一記錄。 – Jim

+0

@Jim是對的。更新了查詢和示例代碼以使用「DISTINCT」。 – Shiva