![](/img/trans.png)
[英]SQL- insert row into table based on value, then determine position in table
[英]sql insert row based on other table value
我有2个表,分别称为table1和table2。 table1具有键,条件,级别和conditionvalue列,而table2具有键和值列。
table1行
key condition level conditionVal
1 > error 10
1 = info 5
2 < warning 5
2 > info 20
我将从用户或其他来源获取输入(键和值),并且需要根据以下条件将这些值插入到table2中。
如果键是1且值> 10或值等于5则我需要插入。 如果键是2且值> 20或值小于5则我需要插入。
如何使用sql insert语句实现此目的。
尝试这个:
IF EXISTS(
SELECT 1
WHERE (@Key=1 AND (@value>10 @value=5) ) OR (@Key=2 AND (@value>20 OR @value<5))
)
INSERT INTO Table2 (column1) VALUES (@values)
尝试这个 :
INSERT INTO table2 (KEY, value)
SELECT KEY , conditionVal
FROM table1
WHERE KEY IN
(SELECT KEY
FROM table1
WHERE (KEY =1
AND (value >10
OR value =5) )
OR (KEY =2
AND (value >20
OR value <5))
AND
conditionVal IN
(SELECT conditionVal
FROM table1
WHERE (KEY =1
AND (value >10
OR value =5) )
OR (KEY =2
AND (value >20
OR value <5))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.