![](/img/trans.png)
[英]Retrieve records from one table related to another depending on certain criteria
[英]inserting records from specific columns in one table to another table depending on multiple criteria
我正在使用SQL Server,需要將記錄從一個表插入另一個空表。 我從中提取的第一個表稱為accnt,並具有以下字段:code,invno,invdate,ven和amnt,以及導入的。 記錄將轉到的表稱為快速表,具有以下字段:日期,數字,名稱,科目,拆分和金額。 我理解有些字段是直接復制的,但是我遇到的麻煩是,根據帳戶中的值,某些字段需要使用accnt以外的其他字段填充。 accnt中有一個名為import的字段,該字段為空或帶有x。 我只想導入導入字段為空的記錄
到目前為止,我擁有的插入語句應直接輸入:日期,名稱,科目和金額,而不取決於任何內容。 但是num字段根據accno字段的值從accnt中的其他字段導入。 條件是:
如果帳戶<7000,則num =代碼如果帳戶> 7000,則num = invno
這是我嘗試過的,但是沒有用
DELETE FROM quick
INSERT INTO quick (date, num, name, account, amount)
if accnt.accno < '7000'
then SELECT invdate, code, ven, accno, amnt from accnt
if accnt.accno > '7000'
then SELECT invdate, invno, ven, accno, amnt from accnt
我如何完成我想做的事情? 即使圖片中的數據有誤,該表也會如下所示:
type和split字段稍后將使用更新查詢進行填充。
使用單個SELECT嘗試一下,並使用CASE來區分這兩種情況。
DELETE FROM quick
INSERT INTO quick (date, num, name, account, amount)
SELECT invdate,
case when accnt.accno < '7000' then code else invno end
, ven, accno, amnt from accnt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.