我有以下查詢......使用一個複雜的查詢結果更新表
WITH NoEndJobs AS (
SELECT
CustomerID,
JobType,
Book,
Page,
NextDocBook = LEAD(Job.Book) OVER (PARTITION BY CustomerID, JobType ORDER BY Book, Page),
NextDocPage = LEAD(Job.Page) OVER (PARTITION BY CustomerID, JobType ORDER BY Book, Page)
FROM JobList Job
WHERE EndBook='' OR EndPage=''
)
SELECT
NoEndJobs.CustomerID,
NoEndJobs.JobType,
NoEndJobs.Book,
NoEndJobs.Page,
coalesce(LastJobInfo.Book, '') AS EndBook,
coalesce(LastJobInfo.Page, '') AS EndPage
FROM NoEndJobs
LEFT JOIN
(
SELECT
CustomerID,
JobType,
Book,
Page,
PrevEntry
FROM JobEntries
) NextJobEntry ON
NextJobEntry.CustomerID=NoEndJobs.CustomerID AND
NextJobEntry.JobType=NoEndJobs.JobType AND
NextJobEntry.Book=NoEndJobs.NextDocBook AND
NextJobEntry.Page=NoEndJobs.NextDocPage
LEFT JOIN
(
SELECT
ID,
Book,
Page
FROM JobEntries
) LastJobInfo ON LastJobInfo.ID=NextJobEntry.PrevEntry
ORDER BY
NoEndJobs.CustomerID,
NoEndJobs.JobType,
NoEndJobs.Book,
NoEndJobs.Page;
我希望能夠以更新指定的JobList
與得到的SELECT行表。
我想根據CustomerID,JobType,Book和Page來更新表格。比如...從選擇第一行的結果可能是這樣的......
所以我想這樣做的結果..
UPDATE JobList
SET JobList.EndBook=RESULTS.EndBook, JobList.EndPage=RESULTS.EndPage
WHERE
JobList.CustomerID=RESULTS.CustomerID AND
JobList.JobType=RESULTS.JobType AND
JobList.Book=RESULTS.Book AND
JobList.Page=RESULTS.Page
如果我我不清楚自己想要做什麼,如果需要,我可以詳細說明。基本上,我想獲得我的結果並更新匹配數據集的表IF EndBook和EndPage字段不是空白('')。
我試圖做一些不同的事情,但總是得到語法錯誤永遠無法使其工作。上面的查詢是可靠的,並且運行良好!
可你也分享預期的結果:也看看這個鏈接瞭解更多關於如何提高的問題:HTTPS://spaghettidba.com/ 2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar