6

idそこにdatas というテーブルが 1start_dateend_dateありday_countますday_type
どこidが主キーで、start で、end_datedatetime で、day_countint で、day_typevarchar です。day_type は、ユーザーがリクエストを行ったときに値として DAY,WEEK,MONTH を格納し、day フィールドには 1 から 60 のような日数を保持します。

ここで、このカウントを使用して、date_add mysql 組み込み関数を入力します。

以下のように渡そうとしましたが、エラーが表示されます。

SELECT
datas.day_count,
datas.day_type,
MIN( datas.start_date ) AS MinDate,
MAX( datas.end_date ) AS MaxDate, 
DATE_ADD(MaxDate,INTERVAL datas.day_count datas.day_type) AS ExactDate,
datas.trade_service_id
FROM datas

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datas.day_type)) AS ExactDate, datas' at line 13 エラーはちょっとしたヒントで結構です 。

4

1 に答える 1

14

このクエリは MySQL で機能しますが、グループなどを除いて正確に何を出力したいですか?

SELECT
datas.day_count,
datas.day_type,
MIN( datas.start_date ) AS MinDate,
MAX( datas.end_date ) AS MaxDate,

start_date, min(start_date) as min_date,
case day_type 
  when 'MONTH' then DATE_ADD(MAX( datas.end_date ),INTERVAL datas.day_count MONTH) 
  when 'DAY' then DATE_ADD(MAX( datas.end_date ),INTERVAL datas.day_count DAY) 
end as ExactDate,

datas.trade_service_id
FROM datas
于 2012-08-22T07:51:00.003 に答える