注册 登录
编程论坛 SQL Server论坛

关于两表联查的问题

C_Guangwei 发布于 2011-10-11 20:09, 1671 次点击
本人有一数据库,里面有表A、表B,表A的tganame关联表B的tganame,现在我想获取表A的所有数据以及表B的event

表A:
logtime  tganame  tgavaule
2011-7-1   test      1


表B:
tganame  event
 test   do test

想要得到的结果
logtime   tganame  tgavaule  event
2011-7-1   test       1      do test

跪求指教啊~
7 回复
#2
tangyunzhong2011-10-12 12:07
以下是引用C_Guangwei在2011-10-11 20:09:53的发言:

本人有一数据库,里面有表A、表B,表A的tganame关联表B的tganame,现在我想获取表A的所有数据以及表B的event

表A:
logtime  tganame  tgavaule
2011-7-1   test      1


表B:
tganame  event
 test   do test

想要得到的结果
logtime   tganame  tgavaule  event
2011-7-1   test       1      do test

跪求指教啊~
select a.*,event from 表A a,表B b where a.tganame=b.tganame
#3
chtml小兵2011-10-12 19:49
我觉得应该这样写:
select a.*,b.event from 表A a
inner join 表 B b on 表A.tganame=表b.tganame
#4
fanfan3202011-10-13 10:10
回复 楼主 C_Guangwei
select * from logtime  tganame  tgavaule event
 from A left join B on a.tganame=b.tgarname


[ 本帖最后由 fanfan320 于 2011-10-13 10:12 编辑 ]
#5
tangyunzhong2011-10-14 09:46
以下是引用chtml小兵在2011-10-12 19:49:57的发言:

我觉得应该这样写:
select a.*,b.event from 表A a
inner join 表 B b on 表A.tganame=表b.tganame
这个是另一种写法,不是说你觉得应该这样写,要理解清楚
#6
chtml小兵2011-10-16 15:16
以下是引用tangyunzhong在2011-10-14 09:46:51的发言:

这个是另一种写法,不是说你觉得应该这样写,要理解清楚




oo,原来还可以这样写!:-C
#7
多情浪子2012-02-13 01:34
  我觉得 你的两张表设计的有问题;
 应该这样设计表:  A 表关联 B 表 那么B表中的id(tganame)变成了A 表的外键. 这时A 表中包含了B表中的所有字段 ,如要查询也可以设置些伪数据需要两表添加的内容相同
 sql可以这样书写:我们可以通过起别名的方式 但是会产生迪科尔成绩(如果没加where条件的话) , 个人的数据有限那就没关系了   查询语句- select  a.logtime,a.tganame,a.tgavalue,a.event,b.tganem,b.event from A as a, B as b where a.tganame = a.tganame ;
够清楚吧!  有问题请指教哦! 也可以加我QQ278984265
1