2017-05-18 53 views
0

我想從兩個表中拉相同的數據。一個表是前幾個月的數據,稱爲MAArchive,ManualAdjustment表是當前月份。我想運行一個查詢,根據從下拉列表中選擇的PTLName從兩個表中提取相同的數據。選擇內部聯接兩個表不拔出任何數據

我創建了下面的查詢,但是當它運行時它不會從表中拉出任何數據並且沒有錯誤。

+2

要麼沒什麼'ON'子句匹配或沒有什麼'WHERE'這條規則。這就是爲什麼這個查詢不會返回任何行。 –

+0

或者其中一個表是空的... – jarlh

+0

@GordonLinoff我認爲你是對的戈登,我沒有任何東西可以連接INNER JOIN。由於每次調整提交MAIndex不同 – Alexandria

回答

0

您CA試試這個語法:

SELECT expression1, expression2, ... expression_n 
FROM tables 
[WHERE conditions] 
INTERSECT 
SELECT expression1, expression2, ... expression_n 
FROM tables 
[WHERE conditions]; 

的SQL INTERSECT運算符用於返回的2個或更多SELECT語句的結果。但是,它僅返回所有查詢或數據集所選的行。如果記錄存在於一個查詢中而不存在於另一個查詢中,則會從INTERSECT結果中省略。

0

我建議開始用LEFT JOIN

SELECT a.ptlname, a.campusoccurred, a.deptoccurred, a.coursedetails, a.dateoccurred, 
     ma.ptlname AS Expr1, ma.campusoccurred AS Expr2, 
     ma.deptoccurred AS Expr3, ma.dateoccurred AS Expr4 
FROM maarchive a LEFT JOIN 
    manualadjustments ma 
    ON a.maindex = ma.maindex AND 
     a.ptlname = ma.ptlname 
WHERE a.ptlname = @PTLName; 

然後你可以調查爲什麼事情不匹配。

根據您的描述,我不明白爲什麼SELECT DISTINCT將是必要的。