【求助】SQL查询记录并且AS下列名
问题详细,表A和表B,需要把表A中的一条记录取出,并且做为列名显示出来,比如在DataGrid中。请大家帮忙,谢谢!
应该先补充你提的问题 :从表A 中取出的记录应该是维一的,否则是无法 AS 列名的。 只有这样才能够实现将行值转换为列。
举一个教材中的例题吧:查找 A表 中 1990 年 1月 1日 的学生的姓名,并列出是否属于通讯工程专业的学生。把结果作为B表;
一、 sql 语句:
s:=select 姓名, 通讯工程 From A表 Pivot( count(学号) for 专业 in(通讯工程) ) AS pvt Where 出生时间 < '1990-01-01'
二、
begin
with adoquery1 do
begin
close;
sql.text:=s;
open;
end;
end;
三、 建一个窗体,放上 dbgrid, adoquery1 datasouec 等。正确连接。
[ 本帖最后由 wangchatian 于 2012-2-14 16:30 编辑 ]