SQL 連表更新

2022-07-19 18:09:15 字數 925 閱讀 7055

現在資料如下:

需求如下: 

要求 更新 earnings 表中的earnings欄位 當 table_2 kpi 大於等於1時 earinings = kpi* 2000,否則等於 kpi* 1500

1

update

earnings

2set earnings =(3

select

4case

when table_2.kpi >=15

then table_2.kpi *

2000

6else table_2.kpi *

1500

7end

8from table_2 where table_2.gid = earnings.id)

view code

結果如下:

注: 子查詢裡的結果必須唯一,否則出錯; 可以根據需求 新增distinct

1

update

earnings

2set earnings =(3

select

distinct

4case

when table_2.kpi >=15

then table_2.kpi *

2000

6else table_2.kpi *

1500

7end

8from table_2 where table_2.gid = earnings.id)

view code

SQL連表查詢

感覺好笨,老大寫過想了一會才想明白。因為資料都是在兩個表中的兩個表中,所以是四個表。應該先把乙個表中的兩個表篩選出來,然後再用union.sql union 操作符 union 操作符用於合併兩個或多個 select 語句的結果集。請注意,union 內部的 select 語句必須擁有相同數量的列。...

sql連表查詢

1.join和union區別 join 是兩張表做交連後裡面條件相同的部分記錄產生乙個記錄集,交集 union是產生的兩個記錄集 欄位要一樣的 並在一起,成為乙個新的記錄集。並集 join用於按照on條件聯接兩個表,主要有四種 inner join 內部聯接兩個表中的記錄,僅當至少有乙個同屬於兩表的...

SQL連表查詢 JOIN

select operation,time,ip,name cnt,mac from tbl left join user on tbl.mid user.mid 最外層select查詢項可以是t user表的字段也可以是tbl表中的字段 sql中的幾種join 1 left join表示式 連線組...