1
ASSENDING_ORDERD_DISPLAY_TABLE(ACCORDING TO START DATE )

EVENT_NAME      START_DATE                  FROM_TO 
----------------------------------------------------------------------------------------------
FASHION SHOW    2013/07/09 08:00:00 a.m.    2013/07/09 08:00:00 a.m.- 2013/07/16 05:00:00 p.m.
STAGE  DRAMA    2013/07/10 08:00:00 a.m.    2013/07/10 08:00:00 a.m.- 2013/07/15 04:00:00 p.m.
FILM_FESTIVAL   2013/07/11 08:00:00 a.m.    2013/07/11 08:00:00 a.m.- 2013/07/12 04:00:00 p.m.

在上面的显示表中,我想显示事件名称、开始日期和 From-to 是>=SYSDATE。事件表我使用 E_ID 作为主键,日期表也使用 E_ID。那里的日期表不使用任何主键。因为日期是重复的。我知道如何使用 java vector 和其他东西来显示。但我不知道如何编写sql。

关联

4

1 回答 1

0

尝试这个:

对于MySQL

SELECT EVENT_NAME, REPLACE(REPLACE(DATE_FORMAT(START_DATE, '%Y/%m/%d %h:%i:%s %p'), 'AM', 'a.m.'), 'PM', 'p.m.') START_DATE, 
       CONCAT(REPLACE(REPLACE(DATE_FORMAT(START_DATE, '%Y/%m/%d %h:%i:%s %p'), 'AM', 'a.m.'), 'PM', 'p.m.'), ' - ', 
              REPLACE(REPLACE(DATE_FORMAT(END_DATE, '%Y/%m/%d %h:%i:%s %p'), 'AM', 'a.m.'), 'PM', 'p.m.')) FROM_TO
FROM (SELECT ET.EVENT_NAME, MIN(STR_TO_DATE(REPLACE(ET.START_DATE, '.', ''), '%Y/%m/%d %h:%i:%s %p')) START_DATE, 
             MAX(STR_TO_DATE(REPLACE(ET.START_DATE, '.', ''), '%Y/%m/%d %h:%i:%s %p')) END_DATE
      FROM EVENT_TABLE ET INNER JOIN DATE_TABLE DT ON ET.E_ID = DT.E_ID
      GROUP BY ET.E_ID
     ) AS A;
于 2013-12-18T09:54:35.317 回答