使用逗号分隔合并的SQL行

时间:2013-08-22 11:06:07

标签: php sql merge rows comma

我在将SQL查询中检索到的值转换为正确的格式时遇到了一些麻烦。

我设法将多行连接到一个值中,但是我不确定如何使用逗号分隔每个值。基本上我需要检索产品的所有ID,例如,如果数据库的值为'5,6,9,1''1,3,4'和'2,1'我希望它抛出每个之间的逗号相似 - > '5,6,9,1,1,3,4,2,1'正在做更像的事情 - > '5,6,911,3,42,1'正是它目前所做的。

我正在使用的代码如下。任何帮助将不胜感激。

谢谢!

$hist = "SELECT ORDITEMS FROM cust_orderc WHERE ORDDATE > 
to_date('".$olddate."','dd/mm/yyyy')";


$histitem = OCIParse($db, $hist);
OCIExecute($histitem);

while($row = oci_fetch_array($histitem)){
    $pastitem .= $row['ORDITEMS'];  
}

echo "$pastitem";

1 个答案:

答案 0 :(得分:0)

您可以使用oracle

LISTAGG中执行此操作
$hist = "SELECT LISTAGG(ORDITEMS) as ORDITEMS FROM cust_orderc WHERE ORDDATE > to_date('".$olddate."','dd/mm/yyyy')";

编辑或PHP方式

$pastitem = '';
while($row = oci_fetch_array($histitem)){
    $pastitem .= $row['ORDITEMS'] . ',';  
}
$pastitem = trim($pastitem, ",");
echo $pastitem;