求怎么把几个不相关的表中数据取出来!
要在datagird中取几个表中的数据出来放一行,但是这几个表又没有关联,一定要通过外健来取
吗?还有别的方法吗?
create table t1(a int,b int)
create table t2(c int,d int)
insert into t1
select 1,1
union all
select 2,2
insert into t2
select 3,3
union all
select 4,4
select identity(int,1,1) as id,* into #1 from t1
select identity(int,1,1) as id,* into #2 from t2
select a,b,c,d from #1,#2 where #1.id=#2.id
drop table t1
drop table t2
a b c d
------------------------------
1 1 3 3
2 2 4 4
@csdnweii
不是很清楚啊,你这不是建表的时候,把两个表连在一起吗?
select identity(int,1,1) as id,* into #1 from t1
select identity(int,1,1) as id,* into #2 from t2
select a,b,c,d from #1,#2 where #1.id=#2.id
这段什么意思啊,我的SQL水平太菜了!555
select identity(int,1,1) as id,* into #1 from t1
select identity(int,1,1) as id,* into #2 from t2
这两句是创建两个临时表 #1和#2 分别复制了原表 t1和t2 的数据,同时增加了个标志列
目的是用标志列来关联两个表。
刚才的那个语句还有点问题,就是如果t1和t2 的记录数目不一样 就会少查出来一些数据
CREATE TABLE [BG_Employee] (
[Num] [char] (4) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[Name] [varchar] (20) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[DeptNo] [char] (4) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[Birthday] [datetime] NULL ,
[ICQ] [char] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL )
CREATE TABLE [MF_PSS] (
[PS_ID] [varchar] (2) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[PS_NO] [varchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[PS_DD] [datetime] NULL ,
[PAY_DD] [datetime] NULL ,
[CHK_DD] [datetime] NULL ,
[TRAD_MTH] [varchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[BAT_NO] [varchar] (15) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[CUS_NO] [varchar] (12) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[VOH_ID] [varchar] (2) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL CONSTRAINT [DF_MF_PSS_VOH_ID] DEFAULT ('01'),
[VOH_NO] [varchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[DEP] [varchar] (4) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[INV_NO] [varchar] (14) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[TAX_ID] [varchar] (1) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL )
各取这两 个表中的任一项出来显示,用什么办法,如果表多了的话,怎么 选!它们又没有关联!