У меня возникли проблемы с получением возвращаемых значений из SQL-запроса в правильный формат.Отдельные объединенные строки SQL с запятой
Мне удалось объединить несколько строк в одно значение, однако я не уверен, как заставить его разделять каждое из значений запятой. По сути, мне нужны все идентификаторы продукта, который должен быть получен, например, если в базе данных были значения «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";
Для базы данных Oracle, эквивалентная функция 'wm_concat()' –
@ MarkBaker Спасибо, я никогда не замечал этот запрос, связанный с базой данных оракула. :) –
wm_concat() никогда не был (IIRC) официально документирован или поддерживается; Я считаю, что Oracle 11g имеет функцию 'LISTAGG()' для этой же цели. –