簡體   English   中英

sql根據其他表值插入行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM