[前][次][番号順一覧][スレッド一覧]

mysql:13039

From: "F.Y" <"F.Y" <fumi_sby@xxxxxxxxxx>>
Date: Thu, 1 Jun 2006 21:20:18 +0900 (JST)
Subject: [mysql 13039] Re: UNION クエリで躓いています

UNIONの問題なんてないように見えるけどね。
要は、namaeで絞りたい、順番つけたいってことじゃないの?
なら単純化するとこんな感じ。

set @r1=0;
select scode, namae, min(p4), min(p9), min(p13), @r1:=(@r1+1) as rank
from table
group by scode, namae
order by scode, namae desc;

4P, 9P, 13Pの選択基準がわからんけど。

--- "rishiri.info" <mail@xxxxxxxxxx> からのメッセージ:
> こんにちは、rishiri.infoと申します。
> 過去ログ等みているのですが
> どうしてもわからないのでよろしくお願いします。
> 
> このような結果を出すにはどうすればよいでしょうか?
> +-----+-------+--------+-------+-------+------+
> | scode | namae   | 4P          | 9P         | 13P       | rank   
> |
> +-----+-------+--------+-------+-------+------+
> |     3   |  hoge     | 07:10:00 | 08:51:00 | 09:11:00 |     1    |
> |     1   |  fuga      | 07:55:00 | 10:55:00 | 16:55:00 |     2   
> |
> +-----+-------+--------+-------+-------+------+
> 現在下記のような
> UNIONクエリを使ってみているのですが
> 
> SELECT sensyu.scode As scode,sensyu.namae As namae, kiroku.ktime As
> 4P,
> kiroku.ktime As 9P , kiroku.ktime As 13P
> FROM kiroku,sensyu,kukan
> WHERE kiroku.kcode = 4 AND kiroku.scode = sensyu.scode AND
> kukan.kcode =
> kiroku.kcode
> UNION ALL
> SELECT sensyu.scode As scode,sensyu.namae As namae, kiroku1.ktime
> As 4P,
> kiroku1.ktime As 9P , kiroku1.ktime As 13P
> FROM kiroku As kiroku1, sensyu,kukan
> WHERE kiroku1.kcode = 9 AND kiroku1.scode = sensyu.scode AND
> kukan.kcode =
> kiroku1.kcode
> UNION ALL
> SELECT sensyu.scode As scode,sensyu.namae As namae, kiroku2.ktime
> As 4P,
> kiroku2.ktime As 9P , kiroku2.ktime As 13P
> FROM kiroku As kiroku2,sensyu,kukan
> WHERE kiroku2.kcode = 13 AND kiroku2.scode = sensyu.scode AND
> kukan.kcode =
> kiroku2.kcode
> ORDER BY scode DESC;
> 
> +-----+------+-------- +------ +--------+
> | scode | namae  | 4P          | 9P        | 13P        |
> +-----+--- ---+------ -+-------+--------+
> |     3   |  hoge    | 07:10:00 | 07:10:00 | 07:10:00 |
> |     3   |  hoge    | 09:11:00 | 09:11:00 | 09:11:00 |
> |     3   |  hoge    | 08:51:00 | 08:51:00 | 08:51:00 |
> |     1   | fuga     | 07:55:00 | 07:55:00 | 07:55:00 |
> |     1   | fuga      | 16:55:00 | 16:55:00 | 16:55:00 |
> |     1   | fuga      | 10:55:00 | 10:55:00 | 10:55:00 |
> +-----+----- -+---- ---+-------+--------+
> 6 rows in set (0.02 sec)
> 
> という結果になってしまいます。
> rank(順位)に関してはACCESSのようにDcount等が使えないため方法がわかり
ません。
> オートナンバーフィールドの追加・削除という方法になるのでしょうか?
> 
> あわせて御教授お願いいたします。
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.394 / Virus Database: 268.8.0/353 - Release Date:
> 2006/05/31
> 
> 
> 

--------------------------------------
Let's start Yahoo! Auction  -  Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/

[前][次][番号順一覧][スレッド一覧]

     13038 2006-06-01 20:26 ["rishiri.info" <mail] UNIONクエリで躓いています               
->   13039 2006-06-01 21:20 ┗["F.Y" <fumi_sby@xxxx]                                       
     13040 2006-06-01 21:45  ┗["F.Y" <fumi_sby@xxxx]                                     
     13041 2006-06-01 22:45   ┗["rishiri.info" <mail]