标题:关于表关联的问题
只看楼主
junxi1
Rank: 1
等 级:新手上路
威 望:1
帖 子:213
专家分:0
注 册:2007-9-17
 问题点数:0 回复次数:7 
关于表关联的问题
我想用SQL语句写2个表之间关联的语句。
alter table1 add constraint foreign key(table1.column) references table2(column)
这样写总觉得不太正确,请给出正确的书写。
不用inner join 或 left / right join
搜索更多相关主题的帖子: join constraint 语句 column left 
2007-10-12 10:46
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
得分:0 

两个数据库在同一台服务器上,直接通过 DBName.OwnerName.TBName 方式引用;否则,参考如下代码:

--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go

--查询示例
select * from srv_lnk.数据库名.dbo.表名

--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go

--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)


--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-10-12 11:04
junxi1
Rank: 1
等 级:新手上路
威 望:1
帖 子:213
专家分:0
注 册:2007-9-17
得分:0 
我要的是在一个数据库中的2个表

foreach( in ){ }
2007-10-12 11:05
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
这是没有用join的
select table1.col1,table2.col1 from table1,table2 where table1.col1=table2.col2
使用join
select table1.col,table2.col1 from table1 join table2 on table1.col=table2.col

我的msn: myfend@
2007-10-12 11:28
junxi1
Rank: 1
等 级:新手上路
威 望:1
帖 子:213
专家分:0
注 册:2007-9-17
得分:0 
哈哈,谢了,我知道这种,我想用alter table1 add constraint foreign key(table1.column) references table2(column)方式的啊。
但这个语句我运行时不行。所以我搞不清问题出在哪里?

foreach( in ){ }
2007-10-12 11:36
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 

alter table1 add constraint foreign key(table1.column) references table2(column)
这个只是用来建立参照完整性约束而已.
跟你后面说的inner join 或 left / right join
跟本就是两码事.
汗.
[CODE]create table table1(
id int not null,
col1 varchar(100),
constraint PK_ID primary key(id)
)
go
create table table2(
id int not null,
col1 varchar(100)
)
go
alter table table2 add constraint fk foreign key(id) references table1(id)
go
insert table1 select 1,'num1'
union select 2,'num2'
go
insert table2 select 1,'ck'
select table1.col1,table2.col1 from table1 join table2 on table1.id=table2.id
drop table table2,table1[/CODE]



我的msn: myfend@
2007-10-12 11:55
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
得分:0 
啊哦,混淆概念了.

Repeat  Life=Study;Until (death);
2007-10-12 13:31
junxi1
Rank: 1
等 级:新手上路
威 望:1
帖 子:213
专家分:0
注 册:2007-9-17
得分:0 
谢了。

foreach( in ){ }
2007-10-12 13:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-176968-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.310565 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved