在SQL中对订单系统进行条件插入

问题描述 投票:0回答:1

我有一个关于条件插入的问题。

The Problem

我想在("tafelID" = tableID)列中添加相同的ID,只有在("betaalstatus" = pay status)等于true的情况下才可以。我必须使用什么查询?

我是SQL新手,我的查询如下。

INSERT INTO Rekening (tafelID, betaalstatus) Select ('7', 'False')
WHERE not exists ( select 'False' )
sql sql-server sql-insert
1个回答
0
投票

你可以在FROM子句的嵌套选择语句中用数据替换"<...>",你可以使用嵌套的Case When语句来处理复杂的条件。

INSERT INTO Rekening (tafelID, betaalstatus) 
Select Case WHEN betaalstatus = true THEN  tableID ELSE tafelID END tafelID, betaalstatus
FROM (SELECT <betaalstatus> AS betaalstatus, <tableID> AS tableID, <tafelID> AS tafelID)
-- i.e. (SELECT true AS betaalstatus, 7 AS tableID, 8 AS tafelID)
© www.soinside.com 2019 - 2024. All rights reserved.