0

かなり単純な MySQL クエリがあります。

(SELECT
    id
    , creation_date AS date
    , 'order' AS type
    FROM bus_orders
    WHERE 1
UNION ALL SELECT
    id
    , start_date AS date
    , 'contract start' AS type
    FROM bus_contracts
    WHERE 1
UNION ALL SELECT
    id
    , end_date AS date
    , 'contract end' AS type
    FROM bus_contracts
    WHERE 1
) ORDER BY date DESC LIMIT 5

ただし、実行すると構文エラーが発生します。

SQL 構文にエラーがあります。1 行目の「UNION ALL SELECT id, start_date AS date, 'contract start' AS type FROM bus_contr」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

それは明らかなことだと確信していますが、それを完全に理解することはできません。ここで私が間違っていることを誰かが見つけることができますか?

4

2 に答える 2

0

)削除する必要があるリーディングがあります。

于 2012-10-29T23:53:05.103 に答える
0

削除するWHERE 1か、変更しますWHERE 1=1

SELECT *
FROM
    (
        SELECT  id , creation_date AS date , 'order' AS type
        FROM bus_orders
        UNION ALL 
        SELECT id , start_date AS date , 'contract start' AS type
        FROM bus_contracts
        UNION ALL 
        SELECT id , end_date AS date , 'contract end' AS type
        FROM bus_contracts
    ) x
ORDER BY date DESC 
LIMIT 5
于 2012-10-29T23:53:14.153 に答える