4

次のクエリを作成していますが、構文に問題があります。

SELECT FORMAT(yrs_served * 365, 0) AS days_served,
ADDDATE(date_comm, INTERVAL days_served DAY(DATE_FORMAT(CONCAT_WS('-', yr_comm, mth_comm, day_comm), %Y-%m-%d) AS date_comm) AS left_office
FROM prime_minister JOIN ministry
;

ご覧のとおり、最初に3つの値を日付にCONCAT_WSしてから、DATE_FORMATを使用して日付としてフォーマットし、ADDDATEを使用してこの日付に日数を追加できるようにします。

私がどこで間違っているのか教えてください、ありがとう!

4

1 に答える 1

2

ALIAS定義されているのと同じレベルで使用することはできません。

SELECT   FORMAT(yrs_served * 365, 0) AS days_served,
         ADDDATE(CONCAT_WS('-', yr_comm, mth_comm, day_comm), INTERVAL (yrs_served * 365) DAY) AS left_office
FROM     prime_minister JOIN ministry.....

使用したくない場合は、サブクエリでラップするだけです。

SELECT  days_served,
        ADDDATE(date_comm, INTERVAL days_served DAY) AS left_office
FROM
(
    SELECT  FORMAT(yrs_served * 365, 0) AS days_served,
            CONCAT_WS('-', yr_comm, mth_comm, day_comm) as date_comm
    FROM     prime_minister JOIN ministry.....
) s
于 2013-01-27T06:30:25.740 に答える