当表B中尚不存在该日期时,我尝试将一个日期从表A插入表B中。我使用了NOT EXISTS函数,但该日期似乎并没有像我希望的那样填充。
为了提供更多的上下文,表B是总帐,一天中可以有零笔或多笔交易,而表A是资产负债表,每一天都有一个条目,而不管总帐中是否有交易。
这是我使用的SQL代码:
INSERT INTO gl_account_type_descriptions
(Company_Name, `Account ID`, `Date`)
SELECT Company_Name,
`Account ID`,
`Date`
FROM all_balance_sheet
WHERE NOT EXISTS (
SELECT DISTINCT Company_Name, Account ID`, `Date`
FROM gl_account_type_descriptions
)
您缺少NOT EXISTS
零件内部的条件:
INSERT INTO gl_account_type_descriptions
(Company_Name, `Account ID`, `Date`)
SELECT Company_Name, `Account ID`, `Date`
FROM all_balance_sheet AS bal
WHERE NOT EXISTS (
SELECT Company_Name, `Account ID`, `Date`
FROM gl_account_type_descriptions AS acc
WHERE bal.Company_name = acc.Company_name
AND bal.`Account ID` = acc.`Account ID`
AND bal.`Date` = acc.`Date`
)
我也删除了多余的DISTINCT
子句,因为它不是必需的,并且会减慢查询速度。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句