DJ_smile 2015-02-06 05:36 采纳率: 75%
浏览 1666
已采纳

MS_SQL 已知一组数据,请给出可返回所有可能的组合方式的函数

写一个SQL函数
从TB5中TB5Code 所维护的表中各取一个字符 组合成 XXXX 的形式,
组合的先后顺序 按照TB5中lat 的大小顺序

--测试数据 数据库版本为 MS SQL SEVER 2008 R2
 create table TB1(ID  INT  IDENTITY (1,1),TB1Code VARCHAR(20),PRIMARY KEY(TB1Code)); 
insert into  TB1(TB1Code) values('A'); 
insert into  TB1(TB1Code) values('B'); 
insert into  TB1(TB1Code) values('C'); 
create table TB2(ID  INT  IDENTITY (1,1),TB2Code VARCHAR(20),PRIMARY KEY(TB2Code)); 
insert into  TB2(TB2Code) values('1'); 
insert into  TB2(TB2Code) values('2'); 
insert into  TB2(TB2Code) values('3'); 
create table TB3(ID  INT  IDENTITY (1,1),TB3Code VARCHAR(20),PRIMARY KEY(TB3Code)); 
insert into  TB3(TB3Code) values('1'); 
insert into  TB3(TB3Code) values('2'); 
insert into  TB3(TB3Code) values('3'); 
create table TB4(ID  INT  IDENTITY (1,1),TB4Code VARCHAR(20),PRIMARY KEY(TB4Code)); 
insert into  TB4(TB4Code) values('1'); 
insert into  TB4(TB4Code) values('2'); 
insert into  TB4(TB4Code) values('3'); 
/* TB5Code 为表名 Lat 为排序的先后顺序 */
create table TB5(ID  INT  IDENTITY (1,1),TB5Code VARCHAR(20) NOT NULL ,Lat INT NOT NULL,PRIMARY KEY(TB5Code)); 
insert into  TB5(TB5Code,Lat) values('TB1',1); 
insert into  TB5(TB5Code,Lat) values('TB2',2); 
insert into  TB5(TB5Code,Lat) values('TB3',3); 
insert into  TB5(TB5Code,Lat) values('TB4',4); 

--DROP TABLE TB1
--DROP TABLE TB2
--DROP TABLE TB3
--DROP TABLE TB4
--DROP TABLE TB5

--/*得到的结果 是 
A111
A112
A113
A121
A122
.
.
C333
当然了 各个表的Code 字段的行数有可能自己手工增加。
*/
  • 写回答

2条回答 默认 最新

  • danielinbiti 2015-02-06 07:43
    关注

    最好举个例子,别理解的意思和你表述的不一样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记