sql—当值可以根据用户的上载进行更改时,如何从下表中获得某些键值的结果

uz75evzq  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(290)

p1(主表)cols:teamname teamid

Data: ABC      1 
                    DEF      2

p2(字段Map)cols:fielddesc fieldname 团队ID:

Data:Goals     Text1     1,
                   Player    Text2     1,
                   Shots     Text1     2,
                   Batsman   Text2     2,
                   Runs      Text3     2,

p3(值)cols:teamid text1 文本2文本3文本4文本5文本6文本7文本8文本9文本10

Data:  1      3   John
                     1      2   Mark
                     1      1   Stu
                     2      10  Bart   14
                     2      3   Mary   6
                     2      50  Ba     100

预期输出:如果用户选择,那么输出应该是
o/p:col:团队目标球员

Data: ABC  3   John
       ABC  2   Mark
       ABC  1   Stu

预期输出:如果用户选择def,那么输出应该是

O/p: Col: Team Shots Batsman Runs

 Data: DEF  10   Bart    14
       DEF  3    Mary    6
       DEF  50   Ba     100

如何用sql编写?

l7mqbcuq

l7mqbcuq1#

您需要学习如何在sql查询中使用join。在这里你可以加入这张table p1 和table p3teamId 以获得期望的结果。

select
  teamname,
  shots,
  batsman,
  coalesce(runs, 0) as runs
from p1
join p3
on p1.teamId = p3.teamId
where teamname = 'DEF'
order by
  teamname

输出:

| teamname | shots | batsman | runs |
| -------- | ----- | ------- | ---- |
| DEF      | 10    | Bart    | 14   |
| DEF      | 3     | Mary    | 6    |
| DEF      | 50    | Ba      | 100  |

相关问题