0

SQL クエリから取得した値を正しい形式に変換するのに少し苦労しています。

複数の行を 1 つの値に結合することはできましたが、各値をコンマで区切る方法がわかりません。基本的に、製品のすべての 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";
4

1 に答える 1

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;
于 2013-08-22T11:08:16.297 に答える