再求sql语句,怎么把2个没有任何关系的表和在一起显示?

sheyu8 2003-11-19 06:19:05
再求sql语句,怎么把2个没有任何关系的表和在一起显示?
示例:
a b
id name ids born
1 A 2 1980-8-8
2 B 4 1980-8-7
3 C
4 D

显示结果应该为:
a.id a.name b.ids b.born
1 A 2 1980-8-8
2 B 4 1980-8-7
3 C
4 D
其中a和b表各自独立的往前排。
...全文
198 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Benimarunikado 2003-11-19
  • 打赏
  • 举报
回复
TRY THIS WOULD HELP:

--根据作者需求,举例实现如下:

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'a')
DROP TABLE a

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'b')
DROP TABLE b

GO

CREATE TABLE a([id] int ,[name]char(5))

CREATE TABLE b([ids] int ,[born]datetime)

GO

INSERT INTO a VALUES('1','A')
INSERT INTO a VALUES('2','B')
INSERT INTO a VALUES('3','C')
INSERT INTO a VALUES('4','D')

INSERT INTO b VALUES('2','1980-8-8')
INSERT INTO b VALUES('4','1980-8-7')

GO

--增加标识列:

ALTER TABLE a ADD RECORDID INT IDENTITY

ALTER TABLE b ADD RECORDID INT IDENTITY

GO

--最终查询语句为:

SELECT DISTINCT [ID][a.id],[name][a.name],[ids][b.ids],[born][b.born]
FROM a LEFT OUTER JOIN b
ON a.RECORDID=B.RECORDID


--符合楼主所要求结果集:

a.id a.name b.ids b.born
----------- ------ ----------- ------------------------------------------------------
1 A 2 1980-08-08 00:00:00.000
2 B 4 1980-08-07 00:00:00.000
3 C
4 D

(所影响的行数为 4 行)
pengdali 2003-11-19
  • 打赏
  • 举报
回复
select a.id,a.name,b.ids,b.born from (
select (select count(*) from a where id<=tem.id) rowid,* from a tem) aa full join (
select (select count(*) from b where id<=tem.id) rowid,* from b tem) bb
on aa.rowid=bb.rowid

34,874

社区成员

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

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