【发布时间】:2014-08-06 20:34:58
【问题描述】:
这是我的查询:
SELECT messages.*,
units.*,
MAX(messages.created_at) AS 'conversation_date',
(select count(*) as messages from messages where unit_id = units.id),
WEEKOFYEAR(MAX(messages.created_at)) as 'woy',
YEAR(MAX(messages.created_at)) as 'year',
classifications.description AS 'classification'
FROM messages
JOIN units ON units.id = messages.unit_id
JOIN classifications ON units.classification_id = classifications.id
WHERE from_id <> units.creator_id GROUP BY messages.unit_id, from_id, to_id
我正在尝试将第 4 列命名为 "messages",但返回的名称实际上是 "(select count(*) as messages from messages where unit_id = units.id)"
我做错了什么?
【问题讨论】:
-
嗯,你能发布错误信息吗?我认为这会有所帮助。说真的,请帮助我们帮助您,给我们一些信息,您使用的是什么 RDBMS?
-
我得到一个名为“(select count(*) as messages from messages where unit_id = units.id)”的字段,而不是我想要的名为 messages 的字段
-
这根本不是语法错误,您只需为该列提供别名
(select ....) AS Messages -
我现在意识到了这一点,我重新运行了查询并得到了它。我会换个问题
-
@billinkc ...应该根据意见关闭
标签: sql columnname column-alias