Php 用逗号分隔合并的SQL行

Php 用逗号分隔合并的SQL行,php,sql,merge,rows,comma,Php,Sql,Merge,Rows,Comma,我在将从SQL查询中检索到的值转换为正确格式时遇到了一些问题 我已经设法将多行连接到一个值中,但是我不知道如何用逗号分隔每个值。本质上,我需要检索产品的所有ID,例如,如果数据库的值为“5,6,9,1”、“1,3,4”和“2,1”,我希望它在每个ID之间加一个逗号,比如->“5,6,9,1,1,3,4,2,1”,而不是做一些更像->“5,6911,3,42,1”的事情,这就是它目前正在做的事情 下面是我正在使用的代码。任何帮助都将不胜感激 谢谢 $hist = "SELECT ORDITEMS

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

我已经设法将多行连接到一个值中,但是我不知道如何用逗号分隔每个值。本质上,我需要检索产品的所有ID,例如,如果数据库的值为“5,6,9,1”、“1,3,4”和“2,1”,我希望它在每个ID之间加一个逗号,比如->“5,6,9,1,1,3,4,2,1”,而不是做一些更像->“5,6911,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";

您可以在
oracle
中使用
listag

$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;

对于oracle数据库,等效函数是
wm_concat()
@MarkBaker谢谢,我从来没有注意到这个查询与oracle数据库相关。:)wm_concat()从未(IIRC)正式记录或支持;我相信Oracle11g也有同样的
listag()
功能purpose@MarkBaker包括两种方式。:)啊,我不知道你在那里加了。。非常感谢你!!这真是妙极了:D如果可以的话,我会投票,现在还没有15个名声>。