2015-12-05 40 views
0

我有兩張桌子。表一被命名爲RAW,表二被命名爲REPORT。請看下面的截圖。這兩個表都與列名稱REQUESTID存在關係,但唯一的區別是 - REPORT.REQUESTIDDISTINCTRAW.REQUESTID,其餘REPORT表的字段爲空。如何根據一定的條件將數據從一張表中拉出到另一張表中?

我正在尋找在查詢表REPORT填寫的數據,但我的條件是

INSERT數據在NEW

REPORT.REQUESTID = RAW.REQUESTID AND RAW.LASTSTATUS= "NEW" 

當上述條件爲真,REPORT.NEWREQUESTID的值應爲RAW.LASTUPDATEON。結果將看起來像我手動填寫的截圖。

Tables and Results

+0

任何人都可以請幫忙嗎?尋找更新查詢... – Akkitech

回答

0

我發現它自己的值。這是我正在查找的查詢。

UPDATE MAIN 
INNER JOIN RAW ON MAIN.REQUESTID=RAW.REQUESTID 
SET MAIN.NEW = [RAW].[LASTUPDATEON] 
WHERE RAW.LASTSTATUS='NEW'; 
0

查詢將是這樣的

INSERT INTO REPORT (REQUESTID, NEW) SELECT REQUESTID, LASTUPDATEDON 
FROM RAW WHERE LASTSTATUS = "NEW" 

要插入不存在於表

INSERT INTO REPORT (REQUESTID, NEW) SELECT REQUESTID, LASTUPDATEDON 
FROM RAW WHERE LASTSTATUS = "NEW" AND REQUESTID NOT IN (SELECT REQUESTID FROM REPORT) 
+0

太棒了!它正在工作,但這是問題所在。它還添加了請求ID。但是REQUESTID已經在桌面上了。但我只需要請求ID的其他值。 – Akkitech

+0

所以你需要表中不存在的值?更新我的回答 – miholeus

+0

不,好吧..我擁有的實際數據超過了一百萬。列'(RAW.LASTSTATUS)'的值將成爲'REPORT'表中的列名。我試圖找出那個特殊的'REQUESTID'和'LASTSTATUS'的時間。 我已經做了一個查詢,將'REQUESTID'從'RAW'表複製到'REPORT'表。現在我需要另一個查詢來根據'RAW'表中的'REQUESTID'和'LASTSTATUS'將時間拉到同一個'REQUESTID'的'NEW'列中。同樣的方式,我將修改其他列的查詢。 我有沒有運氣來介紹我的要求? – Akkitech

相關問題