成都安利直营店地址:在此请教一个SQL超高难度查询问题,望高手们来指点指点,谢谢!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 08:21:30
列1有3个数据:A、H、M
列2有3个数据:B、G、L
列3有3个数据:C、E、N
列4有3个数据:D、I、G
列5有3个数据:E、J、P
列6有3个数据:F、F、I

即:列1 列2 列3 列4 列5 列6
A B C D E F
H G E I J F
M L N G P I

如何使用select语句把以下 数据的组合 检索出来:
组合1:
A C E
H G E
M L G
组合2:
A C F
H G F
M L G
组合3:
A C E
H E I
M L I
组合4:
A C F
H I F
M L I
此问题有点象公交换乘的原理:
A路:B站-C站-D站-E站-F站
H路:G站-E站-I站-J站-F站
M路:L站-N站-G站-P站-I站
如何使用select语句把以下从C站到L站的 路线的组合 检索出来:
组合1:
A路:C站-D站-E站
H路:G站--E站
M路:L站-N站-G站
组合2:
A路:C站-D站-E站
H路:E站--I站
M路:L站-N站-G站-P站-I站
组合3:
A路:C站-D站-E站
H路:E站--I站
M路:L站-N站-G站-P站-I站
组合4:
A路:C站-D站-E站-F站
H路:I站-J站-F站
M路:L站-N站-G站-P站-I站

组合1:
select 列1,列3,列5
where C='已知'
union
select 列1,列2,列3
where C<>'已知' and L<>'已知'
union
select 列1,列2,列4
where L='已知'

后面的同理可得

也就是说A,H,M的值是已知的,
C站和L站是已知的,中间还有两站也是已知的对吗?
这好象需要索引,我想想!1