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]