表1
`s.no | name |total_price
------ | ------ |------------
1 | kathir | 100'
表2
`s.no | rent_name |rent_price| f_key
------ | ------ -----|----------|------
1 | k1 | 10 | 1
2 | k2 | 20 | 1
我的疑问:
select t1.name,t1.total_price,t1.rent_name,t1.rent_price
from table1 t1 left join table2 t1 ON t1.s_no=t2.f_key
结果:
`s.no | name |total_price| rent_name | rent_price
------| -------|-----------|-----------|------
1 | kathir | 100 | k1 | 10
2 |kathir | 100 | k2 |20
当我计算kathir总价的总和时,它给我200但真实只有100 预期结果:
`s.no | name |total_price| rent_name | rent_price
------| -------|-----------|-----------|------
1 | kathir | 100 | k1 | 10
2 |kathir | 0 | k2 |20
如果我计算kathir的total_price的总和是给我100和租金名称k1和k2和租金10,20和总和是30 ..如何实现这个
答案 0 :(得分:0)
尝试我的编辑答案如下
select t2.s_no, t1.name,(case when ROW_NUMBER() OVER(PARTITION BY f_key ORDER BY t2.s_no asc) = 1 then t1.total_price else 0 end) as total_price,t2.rent_name,t2.rent_price
from table1 t1 left join table2 t2 ON t1.s_no=t2.f_key
答案 1 :(得分:0)
表1
`s.no | name |total_price
------ | ------ |------------
1 | kathir | 100
------ | ------ |------------
2 |mani | 200
在表1中可以有很多记录
`s.no | rent_name |rent_price| f_key
------ | ------ -----|----------|------
1 | k1 | 10 | 1
2 | k2 | 20 | 1
3 |k3 | 30 |2
4|k1 |10 |2
选择t1.name,t1.total_price,t1.rent_name,t1.rent_price from table1 t1 left join table2 t1 ON t1.s_no = t2.f_key
预期结果:
`s.no | name |total_price| rent_name | rent_price
------| -------|-----------|-----------|------
1 | kathir | 100 | k1 | 10
2 |kathir | 0 | k2 |20
3 |mani |200 |k3 |30
4 |mani |0 |k1 |10
答案 2 :(得分:0)
答案 3 :(得分:0)
表1
`s.no | name |total_price
------ | ------ |------------
1 | kathir | 100
------ | ------ |------------
2 |mani | 200
3 vinoth 300
4 dinesh 400
在表1中可以有很多记录
`s.no | rent_name |rent_price| f_key
------ | ------ -----|----------|------
1 | k1 | 10 | 1
2 | k2 | 20 | 1
3 |k3 | 30 |2
4|k1 |10 |2
选择t2.s_no,t1.name,(当ROW_NUMBER()OVER(PARTITION BY f_key ORDER BY t2.s_no asc)= 1然后t1.total_price else 0 end)为total_price,t2.rent_name,t2.rent_price from table1 t1 left join table2 t2 ON t1.s_no = t2.f_key
结果:
`s.no | name |total_price| rent_name | rent_price
------| -------|-----------|-----------|------
1 | kathir | 100 | k1 | 10
2 |kathir | 0 | k2 |20
3 |mani |200 |k3 |30
4 |mani |0 |k1 |10
5 vinoth | 300
6 dinesh | 0