我对SQL有点生疏,我有一个简单的表
col1 col2 col3 col4
ident1 name1 data1 data3
ident2 name1 data8 data7
ident3 name1 data3 data8
...
ident1 name2 data4 data1
ident2 name2 data2 data5
ident3 name2 data6 data3
...
我希望以这种方式得到几个专栏
ident1 ident1 ident2 ident2 ident3 ident3 ...
name1 data1 data3 data8 data7 ...
name2 data4 data1 data2 data5 ...
name3 ....
...
请注意,这与MySQL: Returning multiple columns from an in-line subquery不同,因为我只有一个表,并且我想将第一列映射为结果中的第一行 .
我已经读过这可以使用像SELECT ... WHERE(col3,col4)IN(SELECT col3,col4 ...)这样的子查询,但是我在'IN / ALL / ANY子查询'中出现了像未知列col3一样的错误我无法弄清楚如何在结果的第一行中获取列名称以及如何使用group by来添加列 . 有帮助吗?
1 回答
看起来像mdx . 那些很棒 . 但这不是那些 . 但它们的存在是因为
SQL
(各种各样)对此都不好 . (这也可能是您需要重新考虑架构的情况) .亲身?我会这样做作为一系列查询和关联数组(伪代码如下) .
您可以告诉我的其他选项实际上应该在动态sql中完成(使用
PREPARE
语句等) .