考虑以下问题:
SELECT x.* FROM
(
(
SELECT (id,
insertuserid AS transaction_user_id,
(user_price * (-1)) AS amount,
"INVOICE" AS transaction_type,
insertdatetime
)
FROM invoice
WHERE transaction_user_id = 4
)
UNION
(
SELECT (id,
user_id AS transaction_user_id,
amount,
"PAYMENT" AS transaction_type,
insertdatetime)
FROM payment
WHERE user_id = 4
)
)
AS x
ORDER BY x.insertdatetime
它看到的第一个AS
上的查询错误。
即使我在联盟的第一个insertuserid AS transaction_user_id
中将insertuserid
更改为SELECT
,也会在下一行的第二个AS
上出现错误:{{1} } !!!
错误讯息:
(user_price * (-1)) AS amount
谢谢
答案 0 :(得分:4)
只需删除SELECT
子句
SELECT x.*
FROM
(
SELECT id,
insertuserid AS transaction_user_id,
user_price * (-1) AS amount,
'INVOICE' AS transaction_type,
insertdatetime
FROM invoice
WHERE transaction_user_id = 4
UNION
SELECT id,
user_id AS transaction_user_id,
amount,
'PAYMENT' AS transaction_type,
insertdatetime
FROM payment
WHERE user_id = 4
) AS x
ORDER BY x.insertdatetime