在SQL Server中,我们有下一个情况:有一个看起来像这样的表。
Id | Code | Value
----- | ----- | -----
1 | 10 | 0
2 | 20 | 0
3 | 30 | 0
4 | 40 | 0
5 | 50 | 0
6 | 60 | 0
7 | 70 | 0
8 | 80 | 0
9 | 90 | 0
10 | 100 | 0
我想创建一个这个表的视图来显示它:
Code1 | Value1 | Code2 | Value2 | Code3 | Value3 | Code4 | Value4
----- | ------ | ----- | ------ | ----- | ------ | ----- | ------
10 | 0 | 40 | 0 | 70 | 0 | 100 | 0
20 | 0 | 50 | 0 | 80 | 0 |
30 | 0 | 60 | 0 | 90 | 0 |
我尝试过子查询,但总是返回多行,我不认为在这种情况下我可以使用PIVOT ......我怎么能这样做?
答案 0 :(得分:3)
这是必须在应用程序端完成的事情。这是一种在sql(静态方法)中执行此操作的方法,批处理大小为3
$to_ids_string = "";
$to_id = $this->input->post('to');
for ($r = 0; $r < count($this->input->post('to')); $r++) {
if ($to_ids_string != "") {
$to_ids_string = $to_ids_string . "," . $to_id[$r];
} else {
$to_ids_string = $to_id[$r];
}
}
echo $to_ids_string;
$a = explode(',', $to_ids_string);
foreach ($a as $item) {
echo("<li>$item</li>");
exit;
}