我有一个数据库,该数据库以以下格式列出了54个问题的调查对象...
Respondent ID Q_1 Q_2 Q_3 ... Q_54
1 5 3 [null] 2
...
3000 [null] 3 3 5
...并且我有一个汇总查询来获取每个问题的受访者人数...
Count_Q_1 Count_Q_2 Count_Q_3 ... Count_Q_54
1547 602 2999 1874
...并且我正在寻找一种方法来对上述查询中的列进行转置以获得以下结果...
Question Count_Respondents
Q_1 1547
Q_2 602
Q_3 2999
... ...
Q_54 1874
...如果没有54个UNION查询(或累积到一个主UNION查询的多个UNION查询块),我有什么办法做到这一点?
答案 0 :(得分:1)
不,没有。您的结果应该首先进行规范化,Access不支持public function productsCat(Request $request){
$cat_id = $request->cat_id;
$price = explode("-",$request->price);
$start = $price[0];
$end = $price[1];
if($cat_id!="" && $price!="0"){
$data = DB::table('products')
->join('cats','cats.id','products.cat_id')
->where('products.cat_id',$cat_id)
->where('products.pro_price', ">=", $start)
->where('products.pro_price', "<=", $end)
->get();
}
else if($price!=""){
$data = DB::table('products')
->join('cats','cats.id','products.cat_id')
->where('products.pro_price', ">=", $start)
->where('products.pro_price', "<=", $end)
->get();
}
else if($cat_id!=""){
$data = DB::table('products')
->join('cats','cats.id','products.cat_id')
->where('products.cat_id',$cat_id)
->get();
}
else{
return "<h1 align='center'>Please select at least one filter from drop down list</h1>";
}
if(count($data)=="0"){
echo "<h1 align='center'>no products found under this Category</h1>";
}else{
return view('front.productsPage',[
'data' => $data, 'catByUser' => $data[0]->cat_name
]);
}
或类似的东西。
您可以通过使用VBA取消许多联合查询的数据,也可以将数据移至Excel / SQL Server /另一个程序并在那里取消结果。