日期:2014-05-17  浏览次数:20495 次

一个SQL 语句的写法
A:
r_id gametag_key gameclass_key
6 2 4
7 2 5
8 2 6
9 1 7
10 2 8
11 2 9
12 2 10
13 2 11

B:
r_id         game_key
6 264
6 277
6 1
7 276
7 2
8 3
9 4
10 5


要整合成

r_id gametag_key game_key
6 2 264
6 2 277
6 2 1
7 2 276
7 2 2
8 2 3
9 1 4
10 2 5


SQL 我是这样写的



select  b.r_id,b.gametag_key
,(select game_key from  B a )as game_key 
from A b
where b.r_id=a.r_id

报错:
消息 4104,级别 16,状态 1,第 1 行
无法绑定由多个部分组成的标识符 "a.r_id"。



------解决方案--------------------
select  b.r_id,b.gametag_key ,a.game_key from A b ,B a where b.r_id=a.r_id 

------解决方案--------------------
select
  b.*,a.gametag_key  
from
  (select a.r_id,a.gametag_key  from a)a,b
where
  a.r_id=b.r_id

------解决方案--------------------
select a.r_id,a.gametag_key,b.game_key
from a
inner join b on a.r_id = b.r_id

------解决方案--------------------
引用:
SQL code
select  b.r_id,b.gametag_key ,a.game_key from A b ,B a where b.r_id=a.r_id
这个为啥不行?