0

私はこのMYSQLクエリを持っています:

SELECT
   time_of_day as time,
   player_date as date , 
   CASE max(case when rownum = 1 then player_value end) WHEN 'P' THEN 'P' WHEN 'E' THEN 'P[' ELSE ' ' END as TMZH , 
   CASE max(case when rownum = 2 then player_value end) WHEN 'P' THEN 'P' WHEN 'E' THEN 'P[' ELSE ' ' END as BLAK 
FROM (
  select
    player_date, 
    time_of_day, 
    player_value, 
    player_cid, 
    @row:=case when @prev=player_date then @row else 0 end + 1 as rownum,
    @prev:=player_date 
  from ( 
    select 
      t1.player_date,
      t1.player_value,
      t1.time_of_day ,
      t2.player_cid 
    from 
      availability t1
      inner join players t2 on t1.player_id = t2.player_id 
    order by player_date, player_cid
  ) d,
  (SELECT @row:=0, @prev:=null) r
  order by player_date, player_cid 
) src 
WHERE
  YEAR(player_date) = YEAR(NOW())
group by
  player_date, 
  time_of_day

そして、私はそのような結果を得る(抜粋):

time    date    TMZH    BLAK
...
am  2013-06-03      P[
pm  2013-06-03  P   
am  2013-06-04      P
pm  2013-06-04  P[  
am  2013-06-05      
pm  2013-06-05      
...

また、これらの値は TMZH 列にのみ存在する必要があります。それらの可用性テーブル エントリにはキー 1 があり、現在、そのテーブルのすべてのエントリにはキー 1 があります (これは TMZH player_cid フィールドに対応します)。

何がこれを引き起こす可能性がありますか?

PS。重複エントリーすいません。

4

0 に答える 0