致 大力: 查询的结果是对的,我只是不明白(select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号 写了 top 1 那么第一行就是我要的结果吗?不会匹配错吗? (select 属性值 from @ where 产品=a.产品 and 属性='编号') 编号 是什么含义呢〉
select * from (select * from table ) 不行,要加别名 为什么?(select * from table ) 不就是一个表集吗?
还有:select 产品, (select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1的属性对应产品2的属性?
更正 :还有:select 产品, (select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1对应产品2的属性
select * from (select * from table ) <<<====它没有临时表名,你要引用它的结果该怎么写呢??如列名: select tem.a from (select * from table ) temselect ???.a from (select * from table )
还有:select 产品, (select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1对应产品2的属性where 产品=a.产品 <<<====这里不是写了他的产品对应外面的产品吗?当然不会错!
2、
我问你
1 ,'aa' 编号 1
2 ,'aa' 标准 国标a
3 ,'aa' 标准 国标b
4 ,'aa' 外径 128
你想得到什么结果???
不写top 1,sqlserver怎么知道你要哪一个??是国标a还是国标b
你也可以写 max(属性值) 或 min(属性值)
(select 属性值 from @ where 产品=a.产品 and 属性='编号') 编号 是什么含义呢〉
(select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1的属性对应产品2的属性?
2 ,'aa' 标准 国标a
3 ,'aa' 标准 国标b
4 ,'aa' 外径 128
你想得到什么结果???2 ,'aa' 标准 国标a <<=====如果不写top 1 sqlserver怎么知道你要哪一个??
3 ,'aa' 标准 国标b <<=======是国标a还是国标b????? 当然要写top 1要不就错了!
------------------------------------------------------------------------
select 属性值 from @ where
产品=a.产品 <<<=====你说为什么不回匹配错就是应为在这里写了
and 属性='编号' <<<=====产品等于外面的产品 属性等于编号
) 编号
:还有:select 产品,
(select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1对应产品2的属性
select tem.a from (select * from table ) temselect ???.a from (select * from table )
(select top 1 属性值 from @ where 产品=a.产品 and 属性='编号') 编号, 其中,“三个产品“ 是一一对应的吗?我是说会不会出现产品1对应产品2的属性where 产品=a.产品 <<<====这里不是写了他的产品对应外面的产品吗?当然不会错!