300分求援,能解决么?

terrywang 2001-05-03 09:47:00
特殊环境,通过ODBC访问FOXPRO25B FOR DOS

A(表)
A1,A2,A3(A中的字段)
B(表,B1、B2是B的主健)
B1,B2,B3(B中的字段)
A1对应B1,B2
A2对应B1,B2
(B1取值只有两种:a和b,取值为a时该记录对应A1,取值为b时对应A2)
怎样得出
B3(B1=a,B2=A1),B2(B1=b,B2=A2),A3

(TIP:不能用视图,不能用自连结)
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
terrywang 2001-05-04
  • 打赏
  • 举报
回复
谢谢大家
我以为不支持别名的是因为数据量太大,计算机报错

现调试成功,马上放分

对于最后两位回答准确的共享250分,另外两位给以参与奖50分

应该没有太大的疑问吧:)
windindance 2001-05-03
  • 打赏
  • 举报
回复
SELECT B.B3,A.A1,A.A3 FROM A,B WHERE B.B1=a
UNION B.B3,A.A2,A.A3 FROM A,B WHERE B.B1=b
wolfboy 2001-05-03
  • 打赏
  • 举报
回复
SELECT B3,A1,A3 FROM A,B WHERE B1=a
UNION B3,A2,A3 FROM A,B WHERE B1=b
nononono 2001-05-03
  • 打赏
  • 举报
回复
from A a,B b,B c
==>
from A as a,B as b,B as c

这样试试.
terrywang 2001-05-03
  • 打赏
  • 举报
回复
不支持别名啊
hughie 2001-05-03
  • 打赏
  • 举报
回复
你没看到我在 From 语句后引用了两个B 吗,
c是第二个B的别名,
就如A后的a,B后的b 都是别名,
只要别名不同,通用SQL语法是可以同时多次引用一个表的
terrywang 2001-05-03
  • 打赏
  • 举报
回复
c从哪里来的?
hughie 2001-05-03
  • 打赏
  • 举报
回复
select a.A1,b.B2,a.A2,c.B2,a.A3
from A a,B b,B c
where a.A1 = b.B1
and a.A2= c.B1
and a.A1=1
你试试看
其中a.A1是学生编号,b.B2是学生名,a.A2是学科编号,c.B2是学科名
terrywang 2001-05-03
  • 打赏
  • 举报
回复
两位似乎没看懂我的意思

举个实例
A表为学生信息表
A1学生学号,A2课程编号,A3其它信息
B表
B1(1,2,取1时表示B2代表学号,取2时代表课程编号),B2编号(具体代表参见B1),
B3(B1=1时为学生姓名,B1=2时为课程名)
最后需要的结果集为
学生姓名 课程名 其他信息

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧