一个简单的sql查询没有主外键字段的语句

心泉梦帅 2012-01-13 08:49:53
假如我有一张表A,字段是Sno,SAdd。其中Sno是B表的外键,那么求一条sql语句只得到字段SAdd。(也就是说那些是主外键的字段不要查出来,我在做一个表的数据导入,那些字段让后台代码自己完成插入。)
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
心泉梦帅 2012-01-13
  • 打赏
  • 举报
回复
我是楼主~
也就是说我有个A表 他的字段是 Sno,Sco,Sname,Sadd,Sage。其中字段Sno是主键,他是一个外键表的主键(我说的不清这个名词我不知道用什么表达。。我想应该能看懂吧)。同时字段Sco是一个主键表相关联的字段,那么我想要用条sql语句查出字段Sname,Sadd,Sage。(我在做数据导入,Sno虽然不是自增,但在代码里他会自己加1。Sco是根据别的表来加的,也就是别的表一个数据位10,那么他也会是10。所以我想要条sql语句只要Sname、Sadd、Sage这三个字段
心泉梦帅 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 w198933333 的回复:]

select A.SAdd from A where A.Sno=B.Sno
2楼也是正解。
不过楼主,我估计你那需求里还有关于B表的条件,你这里没有提供,不然直接select SAdd from A就好了,既然要关联B表,而且仅显示A表里的字段,那么B表肯定是有其他条件的,不然这里关联B表就毫无意义。
[/Quote]
我就是楼主啊。。。
SELECT 外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) FROM sysobjects a join sysforeignkeys b on a.id=b.constid join sysobjects c on a.parent_obj=c.id where a.xtype='f' AND c.xtype='U' and object_name(b.fkeyid )='表名',这条语句可以得到查询的表中有外键的字段。可能是我对主机表外键表描述的不清晰吧
w198933333 2012-01-13
  • 打赏
  • 举报
回复
select A.SAdd from A where A.Sno=B.Sno
2楼也是正解。
不过楼主,我估计你那需求里还有关于B表的条件,你这里没有提供,不然直接select SAdd from A就好了,既然要关联B表,而且仅显示A表里的字段,那么B表肯定是有其他条件的,不然这里关联B表就毫无意义。
冰镇宝贝321 2012-01-13
  • 打赏
  • 举报
回复
select A.sadd from A inner join B on A.sno=b.sno
这个吧 试试
心泉梦帅 2012-01-13
  • 打赏
  • 举报
回复
额。。。。不会
EnForGrass 2012-01-13
  • 打赏
  • 举报
回复
sql根据property可以找到那些是主键,那些是外键?这是一个思路,是可以试一试
心泉梦帅 2012-01-13
  • 打赏
  • 举报
回复
、、、怎么会是这样的。。。
SELECT 外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) FROM sysobjects a join sysforeignkeys b on a.id=b.constid join sysobjects c on a.parent_obj=c.id where a.xtype='f' AND c.xtype='U' and object_name(b.fkeyid )='表名',这条语句可以得到查询的表中有外键的字段。
bdmh 2012-01-13
  • 打赏
  • 举报
回复
select A.sadd from A inner join B on A.sno=b.sno

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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