两个表之间的查询(50分)

  • 主题发起人 主题发起人 xt2002xt
  • 开始时间 开始时间
X

xt2002xt

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个表
1、 table1
字段1 字段2
1 名称1
2 名称2
3 名称3
2、 table2
字段1 字段2 字段3
1 信息1 1
2 信息2 空
3 信息3 3
其中TABLE2 的字段3对应TABLE1的字段1
我怎么写SQL语句,将查询出来的数据包括字段3的空的条件。如下显示,其中空就是数据库里没数据

字段1 字段2 字段3 字段4
1 信息1 1 名称1
2 信息2 空 名称2
3 信息3 3 名称3
 
TABLE2 的字段3对应TABLE1的字段1
怎么对应?是 1-1,2-2,3-3?那么 空 对应什么?难道 空-2 ?
 
最简单的方法就是在SQL中建个视图,连接两个表,然后查看它的SQL语句就是你想要的。。有点懒哈
 
我最开始也是用楼主的方法做但是好费时间哦。。
后来发现fastreport在打印表格的时候用的是每个字段加上边框然后调好距离。就做成了表格。
 
你说得不清楚,你所要的结果其实就是对空值的处理,不同数据库的处理方法是不同的,一般是用左(右)连接,oracle用了较特殊的(+)号
 
左右连接?回去 试试 就是对空的数据的问题,呵呵!
 
select B.字段1 , B.字段2, B.字段3 ,A.字段2 from table1 A
Left join table2 b on A.字段1 =B.字段3
 
select 字段1 , 字段2,
Select(字段3 from talbB b Where b.字段3 = a.字段1) 字段3
Select(字段4 from talbB b Where b.字段3 = a.字段1) 字段4
From table1 A

如果是一一对应的话可以这样写
 
select B.字段1,B.字段2,B.字段3,A.字段2 from table1 A
Left join table2 b on A.字段1=B.字段3
这个是最普通的sql语句,一般做程序都会用到多个表的连接,具体的可以看帮助,说的已经很明确了
 
谢谢各位!我是比较菜,这些基础都没打好,哈哈
 
后退
顶部