Sql 如何使用另一个表中的sum更新表?
我有3个表data_kabupaten、master_data和kampusSql 如何使用另一个表中的sum更新表?,sql,sql-server,Sql,Sql Server,我有3个表data_kabupaten、master_data和kampus data_kabupaten +--------------+----------+----------+---------+ |kota/kabupaten|perbulan |j_penduduk|rata-rata| +--------------+----------+----------+---------+ |makassar |2016-06-31| | |
data_kabupaten
+--------------+----------+----------+---------+
|kota/kabupaten|perbulan |j_penduduk|rata-rata|
+--------------+----------+----------+---------+
|makassar |2016-06-31| | |
|makassar |2016-07-31| | |
|makassar |2016-08-31| | |
|... |... | | |
+--------------+----------+----------+---------+
master data kampus
+--------------+-------+ +---------+-------+
|kota/kabupaten|id_kota| |nim |kota_id|
+--------------+-------+ +---------+-------+
|makassar |m012 | |238011003|m012 |
|makassar |m012 | |... |... |
|makassar |m012 | +---------+-------+
|... |... |
+--------------+-------+
如何使用更新我的数据\u kabupaten表
j_penduduk=countdistinct[nim]
使用下面的查询
UPDATE kp
SET kp.J_penduduk=t.cntNim
FROM data_kabupaten kp
JOIN master_data md
on kp.[kota/kabupaten] = md.[kota/kabupaten]
JOIN (SELECT kota_id,Count( distinct Nim) CntNim
FROM Kampus k
GROUP BY kota_id)t
On md.id_kota= t.kota_id
使用下面的查询
UPDATE kp
SET kp.J_penduduk=t.cntNim
FROM data_kabupaten kp
JOIN master_data md
on kp.[kota/kabupaten] = md.[kota/kabupaten]
JOIN (SELECT kota_id,Count( distinct Nim) CntNim
FROM Kampus k
GROUP BY kota_id)t
On md.id_kota= t.kota_id
这里使用公共表表达式cte来获取每个[kota/kabupaten]值的不同计数。然后从cte更新数据表
这里使用公共表表达式cte来获取每个[kota/kabupaten]值的不同计数。然后从cte更新您的数据\u kabupaten表。谢谢它解决了我的问题,因为我只能加入一个表使用内部联接谢谢它解决了我的问题,因为我只能加入一个表使用内部联接