![](/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.