同一表中不同值的显示有关问题

同一表中不同值的显示问题有查询表结构如下发号发名收号收名10上海仓11南京仓11南京仓11南京仓12北京仓13

同一表中不同值的显示问题
有查询表结构如下
发号发名收号收名
10                               上海仓11                               南京仓
11                               南京仓11                               南京仓
12                               北京仓13                               天津仓
13                               天津仓14                               合肥仓
14                               合肥仓14                               合肥仓


有一张发货表D和仓库表WH.(数据来源)
如果我用
select   WHcode,WHname   from   WH,D
查询出来的结果是
发码发名收码收名
10                                     上海仓11                                 上海仓
11                                     南京仓11                                 南京仓
12                                     北京仓13                                 北京仓
13                                     天津仓14                                 天津仓
14                                     合肥仓14                                 合肥仓


变成第四列跟随第一列的值了.请问什么语句可以显示表1的形式?

附:WH表
仓码仓名
10                                     上海仓
11                                     南京仓
12                                     北京仓
13                                     天津仓
14                                     合肥仓

D表
发码收码
1011
1111
1213
1314
1414

谢谢

[解决办法]
select d.发货仓库号码,(select 仓库名称 from WH where 仓库号码=D.发货仓库号码) as 发货仓库名称,d.收货仓库号码,(select 仓库名称 from WH where 仓库号码=D.收货仓库号码) as 收获仓库名称 from D