请教大家一个UNION的问题

tianshilei1992 2013-12-17 03:11:10
我现在有两个表,一个表是[OrderInfoTable],另一个表是[ContactTable]
[OrderInfoTable]有5列,分别是[OrderNum][Express][ExpressNum][Operator][Goods],[OrderNum]为主键
[ContactTable]有4列,分别是[UserName][PhoneNum][Address][OrderNum],其中[OrderNum]是外键,[UserName]是主键。
我想查询[OderNum]=xxxx,然后将他们列出来,成[UserName][PhoneNum][Address][OrderNum][Express][ExpressNum][Operator][Goods]这样,给我的别的程序用,那这样的查询是不是应该用UNION呀?但是用UNION后提示错误:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同。所以不知道应该怎么写这个查询语句?
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2013-12-17
  • 打赏
  • 举报
回复

--使用关联查询

select [UserName],[PhoneNum],[Address],a.OrderNum,[Express],[ExpressNum],[Operator],[Goods]
from ContactTable a
inner join OrderInfoTable b on a.OderNum=b.OderNum
where a.OderNum=xxx
LongRui888 2013-12-17
  • 打赏
  • 举报
回复
用left join 就可以:
select c.[UserName],c.[PhoneNum],c.[Address],c.[OrderNum],
       ct.[Express],ct.[ExpressNum],ct.[Operator],ct.[Goods]
from [ContactTable] c
left join [OrderInfoTable] ct
       on c.[OrderNum] = ct.[OrderNum]
where c.[OrderNum] = xxx
      

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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