这样的SQL语句该怎样写?(10分)

B

beyzhzj

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个表,定义如下:
A(A1,A2) B(B1,B2)
00001 00002 00001 西瓜
00002 土豆
想通过SQL语句生成以下数据:
A1 A1_B2 A2 A2_B2
00001 西瓜 00002 土豆
这样的SQL语句该怎样写?
 
select A1,
(select top 1 B2 from B where B.B1=A.A1) as A1_B2,
a2,
(select top 1 B2 from B where B.B1=A.A2) as A2_B2
from A
 
top 1:只选第一条记录。
 
在 b 表 0001 肯定是 西瓜,而且只有一个 0001 吧。
如果这样,应该可以的。

你运行了有什么问题?
 
你的数据结构设计的有问题。A表对B表来说是多余的。
此时问题可归结为将B表中的多条记录查询到一结果集中。
但是在结构化查询语言中可以这么做吗?尤其是当有无数条记录的时候。
我没有研究过,我的经验是不能。
 
顶部