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

mysql:9496

From: "HIROSE, Masaaki" <"HIROSE, Masaaki" <hirose31@xxxxxxxxxx>>
Date: Tue, 01 Jun 2004 02:03:56 +0900
Subject: [mysql 09496] Re: 複数のフィールドを絡めた select

ひろせといいます

# MySQL のバージョンもテーブル定義も不明なのでアレですが、

create table emp (
  ename varchar(8)
 ,hiredate date
 ,firedate date
);

なテーブルだとすると、

on "[mysql 09495] Re: 複数のフィールドを絡めた select"
   <200405311538.i4VFcfrg026410@xxxxxxxxxx>
at Tue, 01 Jun 2004 00:38:42 +0900
   UNO Shintaro <uno@xxxxxxxxxx> wrote:

> ・FROM句にサブクエリーが使えるバージョンの場合
> 
> SELECT * FROM (
> SELECT 社員名,'入社' AS 入退社区分,入社日 AS 日付
> UNION ALL
> SELECT 社員名,'退社' AS 入退社区分,退社日 AS 日付
> ) AS X
> WHERE 日付 IS NOT NULL
> ORDER BY 日付,社員名

『日付 IS NOT NULL』を中に入れちゃえば、

(select ename, '入社' as type, hiredate as date from emp)
union
(select ename, '退社' as type, firedate as date from emp where firedate is not null)
order by date,ename;

な感じで subquery なしでいけるので、union は使えるけど subquery は使え
ない MySQL 4.0.X でも動きますね。

ではでは

-- 
ひろせ
http://www.irori.org/

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

      9490 2004-05-31 22:20 [mokonan <mokonan@xxx] 複数のフィールドを絡めた select         
      9495 2004-06-01 00:38 ┗[UNO Shintaro <uno@xx]                                       
->    9496 2004-06-01 02:03  ┗["HIROSE, Masaaki" <h]                                     
      9497 2004-06-01 09:46   ┗[UNO Shintaro <uno@xx]                                   
      9498 2004-06-01 09:52    ┗[UNO Shintaro <uno@xx]