请问这样怎么操作

zll_lover 2008-08-22 03:09:14
select * from
{
select id from a
union all
select id from b
}as c
为什么这样操作不行?该如何处理好呢?谢谢
...全文
107 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2008-08-23
  • 打赏
  • 举报
回复
大括号改为小括号即可
zll_lover 2008-08-22
  • 打赏
  • 举报
回复
up上面的星星们咋不说话了啊,谢谢啦
幸运的意外 2008-08-22
  • 打赏
  • 举报
回复
楼主朋友,将一个查询结果当作一个类表时,查询应当用小括号包围,并且类表别名不用加 "as" .
select * from
(
select id from a
union all
select id from b
) c

还有就是,最好将第一行的 "select * from"改成"select id from"比较好,因为类表只返回了一个字段,而且用"select * "返回结果比较耗费时间.当然,记录少了这个消耗差别不大,但是是个编程的习惯问题.
祝楼主开心.
zll_lover 2008-08-22
  • 打赏
  • 举报
回复
#1064 - 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 'SELECT m.ID as id, m.CardId as cardid,m.Date as data,m.Mark as mark,null as mone' at line 3
zll_lover 2008-08-22
  • 打赏
  • 举报
回复
我用的是mysql数据库不是sqlserver,会不会mysql不支持呢?
zll_lover 2008-08-22
  • 打赏
  • 举报
回复
上面是手错,我不知道mysql里面可不可以这样用啊
SELECT * FROM

SELECT m.ID as id, m.CardId as cardid,m.Date as data,m.Mark as mark,null as money,null as cert,'活动积分' as tag,s.Content as content,s.ID as contentid FROM bmw_scale_marks as m,bmw_scale_program as s WHERE m.CardId='8888888888' AND m.ContentID=s.ID
UNION ALL
SELECT m.ID as id, m.CardId as cardid,m.Date as data,m.Mark as mark,m.Money as money,m.CertificateID as cert,'消费积分' as tag,s.Content as content,s.ID as contentid FROM bmw_consumer_marks as m,bmw_consumer_table as s WHERE m.CardId='8888888888' AND m.ContentID=s.ID
UNION ALL
SELECT m.ID as id, m.CardId as cardid,m.Date as data,m.Mark as mark,m.Money as money ,m.CertificateID as cert,(case when m.Category=0 then '维修' else '板喷' end) as tag,null as content,null as contentid FROM bmw_maintenance_marks as m WHERE CardId='8888888888'
)as d

带红线的里面的内容是可以执行的可加了外层的select就不行了,晕
wzy_love_sly 2008-08-22
  • 打赏
  • 举报
回复
()号 ,不是{}
jia_guijun 2008-08-22
  • 打赏
  • 举报
回复
select id from a 
union all
select id from b
leo_lesley 2008-08-22
  • 打赏
  • 举报
回复
select * from 
(
select id from a
union all
select id from b
) c



用小括号
中国风 2008-08-22
  • 打赏
  • 举报
回复
?
lgxyz 2008-08-22
  • 打赏
  • 举报
回复
select * from 
(
select id from a
union all
select id from b
)c

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧