具有不同列的T-SQL联合
发布时间:2020-12-12 08:53:33 所属栏目:MsSql教程 来源:网络整理
导读:我有两个表,其中包含以下数据: [Animals].[Males]DataID HerdNumber HerdID NaabCodee46fff54-a784-46ed-9a7f-4c81e649e6a0 4 'GOLDA' '7JE1067'fee3e66b-7248-44dd-8670-791a6daa5d49 1 '35' NULL[Animals].[Females]DataID HerdNumber HerdID BangsNumber9
我有两个表,其中包含以下数据:
[Animals].[Males] DataID HerdNumber HerdID NaabCode e46fff54-a784-46ed-9a7f-4c81e649e6a0 4 'GOLDA' '7JE1067' fee3e66b-7248-44dd-8670-791a6daa5d49 1 '35' NULL [Animals].[Females] DataID HerdNumber HerdID BangsNumber 987110c6-c938-43a7-a5db-194ce2162a20 1 '9' 'NB3829483909488' 1fc83693-9b8a-4054-9d79-fbd66ee99091 2 'NATTIE' 'ID2314843985499' 我想将这些表合并到一个如下所示的视图中: DataID HerdNumber HerdID NaabCode BangsNumber e46fff54-a784-46ed-9a7f-4c81e649e6a0 4 'GOLDA' '7JE1067' NULL fee3e66b-7248-44dd-8670-791a6daa5d49 1 '35' NULL NULL 987110c6-c938-43a7-a5db-194ce2162a20 1 '9' NULL 'NB3829483909488' 1fc83693-9b8a-4054-9d79-fbd66ee99091 2 'NATTIE' NULL 'ID2314843985499'` 当我使用UNION关键字时,SQL Server生成了一个将NaabCode和BangsNumber合并为一列的视图.我在常规SQL上的一本书建议使用UNION CORRESPONDING语法: SELECT * FROM [Animals].[Males] UNION CORRESPONDING (DataID,HerdNumber,HerdID) SELECT * FROM [Animals].[Females]` 但是当我输入这个SQL Server时,“CORRESPONDING’附近的语法不正确.” 谁能告诉我如何实现我想要的结果和/或如何在T-SQL中使用UNION CORRESPONDING? 解决方法你可以这样做:SELECT DataID,HerdID,NaabCode,NULL as BangsNumber FROM [Animals].[Males] UNION ALL SELECT DataID,NULL as NaabCode,BangsNumber FROM [Animals].[Females] SQL Fiddle 我不记得SQL Server支持相应的语法,但我可能错了.无论如何,此查询将为男性的BangsNumber列选择null,为女性选择NaabCode列,同时正确选择其他所有内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |