![](/img/trans.png)
[英]Copy specific table data from one database to another in SQL Server
[英]Copy specific data from one table to another in sql
我有两个表,一个是CurrentReport
,另一个是Challan
表,另一个是表中显示的当前报告表。 复制currentReport表的以下列的值
[Title],
[ISBN],
[Author1],
[FinalStatus],
[MssType]
但是现在我想将具有最小日期的challan表的stepno复制到两个表中的currentreport表的work1中,编号为no。 都一样 在challan表中,在challan表中有多个输入具有相同参考编号的条目,而我想获得具有最小日期的stepno。
challan
表中的列是
[ChallanNo]
,[ReferenceNo]
,[PersonID]
,[PersonCategory]
,[ChallanDate]
,[PreparedBy]
,[CreatedOn]
,[Publisher]
,[TemplateName]
,[TemplateSubject]
,[TemplateBody]
,[EmailAttachment]
,[PreviousProjectedDate]
,[PreviousReminderDate]
,[PreviousActionDate]
,[NextProjectedDate]
,[NextReminderDate]
,[NextActionDate]
,[ReminderText]
,[ReceivedDate]
,[StepNo]
,[ChallanStatus]
,[IsActive]
,[IsReceived]
CurrentReport
表中的CurrentReport
:
[ReferenceNo]
,[Title]
,[ISBN]
,[Author1]
,[FinalStatus]
,[MssType]
,[Work1]
,[GivenTo1]
,[ChallanDate1]
,[ReceivedDate1]
,[Work2]
,[GivenTo2]
,[ChallanDate2]
,[ReceivedDate2]
,[Work3]
,[GivenTo3]
,[ChallanDate3]
,[ReceivedDate3]
,[Work4]
,[GivenTo4]
,[ChallanDate4]
,[ReceivedDate4]
因此,请告诉我如何更新currentreport
表,因为它具有200个条目,而challan
表具有700个条目。
/ *检查是否有效* /步骤1-编写select过滤掉minDate-
SELECT c.ChallanNo, c.REFERENCENO , c.STEPNO FROM CHALLAN c
INNER JOIN CURRENTREPORT cr
on c.REFERENCENO = cr.REFERENCENO
WHERE RECEIVEDDATE IN (SELECT MIN(RECEIVEDDATE)
FROM CHALLAN cn
GROUP BY (STEPNO))
/ *如果以上操作有效* / STEP 2-根据上述结果进行更新
WITH CTE AS (
SELECT c.ChallanNo, c.REFERENCENO , c.STEPNO FROM CHALLAN c
INNER JOIN CURRENTREPORT cr
on c.REFERENCENO = cr.REFERENCENO
WHERE RECEIVEDDATE IN (SELECT MIN(RECEIVEDDATE)
FROM CHALLAN cn
GROUP BY (STEPNO))
)
UPDATE CURRENTREPORT SET WORK1 = ch.STEPNO FROM CURRENTREPORT c INNER JOIN cte ch
on c.referenceNo = ch.referenceNo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.