根据查询未正确获取输出

时间:2017-01-02 18:36:22

标签: sql oracle

表名为 播放器 ,其中包含一些列&表中的数据如下:

PID | PNAME | CITY | TEAM | SALARY |的 NO_OF_PENALTIES

1001 ozil istanbul germany 500000 1

1002梅西马德里阿森纳500000 2

1003 ronaldo manc uk 600000 1

1004 puyol sussex germany 400000 3

1005 fabregas manchester uk 450000 2

1006 costa ankara turkey 400000 3

1007 beckham london uk 600000 2

这是表。如果团队名称是“德国”,则写一个我想要记录的查询。 no_of_penalties = 1然后我想得到记录。如果团队名称是“uk”& no_of_penalties = 2然后我不想得到记录。 根据上述记录的平均值,根据查询我想获得pid = 1001&的记录。 PID = 1003。 但是当我编写如下所示的查询时:

select * from player where (team='germany' and no_of_penalties=1) or not (team='uk' and no_of_penalties=2) and team in ('germany','uk');

然后执行上面的查询后,输出看起来像pid = 1001,1003,1004,如下所示 enter image description here

那么请你解决我的问题吗?

1 个答案:

答案 0 :(得分:1)

这就是你想要的:

SELECT sno,
  city_name,
  DATE,
  CASE
    WHEN city_name = 'CA' and 
    THEN 'N'
    WHEN city_name = 'DC'
    THEN 'Y'
    ELSE flag
  END flag
FROM your_table;