2017-03-10 93 views
1

我有兩個表,並且我只需要從表A中獲取記錄,其中表B的字段狀態所有狀態記錄都是過程當一個表的外鍵字段中有相同的值時,從兩個表中獲取記錄

Table A 
--------------------------------------------------- 
Id  Folio  Date   Amount 
YY1  001   01/01/2014  300 
YY2  002   02/01/2014  400 
YY3  003   03/01/2014  500 
YY4  004   04/01/2014  600 

Table B 
--------------------------------------------------- 
Id  Table_A_Id  Status   
XY1  YY1    Process 
XY2  YY1    Process 
XY3  YY1    Process 
XY4  YY2    Process 
XY5  YY2    Rejected 
XY6  YY2    Process 
XY7  YY3    Process 
XY8  YY3    Rejected 
XY9  YY3    Finish 
XY10  YY4    Process 
XY11  YY4    Process 
XY12  YY4    Process 

我想這

Id  Folio  Date  Amount 
------------------------------------------- 
YY1  001  01/01/2014  300 
YY4  004  04/01/2014  600 

回答

0

你真的應該嘗試一下自己,但看看這個。

CREATE TABLE #table1(Id VARCHAR(5), Folio VARCHAR(5), Date datetime, Amount numeric(28,12)) 

INSERT INTO #table1(id, folio, date, amount) 
VALUES('YY1', '001', '01/01/2014', 300) 
INSERT INTO #table1(id, folio, date, amount) 
VALUES('YY2', '002', '02/01/2014', 400) 
INSERT INTO #table1(id, folio, date, amount) 
VALUES('YY3', '003', '03/01/2014', 500) 
INSERT INTO #table1(id, folio, date, amount) 
VALUES('YY4', '004', '04/01/2014', 600) 

CREATE TABLE #table2(id VARCHAR(5), table_a_id VARCHAR(5), status VARCHAR(20)) 

INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY1', 'YY1', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY2', 'YY1', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY3', 'YY1', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY4', 'YY2', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY5', 'YY2', 'Rejected') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY6', 'YY2', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY7', 'YY3', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY8', 'YY3', 'Rejected') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY9', 'YY3', 'Finish') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY10', 'YY4', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY11', 'YY4', 'Process') 
INSERT INTO #table2(id,table_a_id,status) 
VALUES('XY12', 'YY4', 'Process') 

SELECT * 
FROM #table1 t1 
WHERE t1.id NOT IN (
         SELECT table_a_id 
         FROM #table2 
         WHERE status <> 'Process' 
        ) 


DROP TABLE #table1 
DROP TABLE #table2 
+0

非常感謝!我不知道不在 –

+0

沒問題。如果這回答你的問題,請接受答案。 – manderson

相關問題