无法弄清楚如何得到这个结果:
ProductID Variantno
53121 5197, 5198,5199
从这个数据集中。
ProductID Variantno
53121 5197
53121 5198
53121 5199
小组尝试但没有好结果,总sql noob ......
答案 0 :(得分:2)
试试这个..
SELECT
ProductID,
GROUP_CONCAT(Variantno)
FROM tbl
GROUP BY ProductID
答案 1 :(得分:0)
select ProductID , group_concat(Variantno)
from table
group by ProductID
答案 2 :(得分:0)
试试这个:
WITH cte AS (
SELECT
ProductID,
CAST('<r>' + REPLACE(variantNo, ',', '</r><r>') + '</r>' AS XML) AS VariantNos
FROM TestTable
)
SELECT
ProductID,
xTable.xColumn.value('.', 'VARCHAR(MAX)') AS VariantNo
FROM cte
CROSS APPLY VariantNos.nodes('//r') AS xTable(xColumn)
答案 3 :(得分:0)
不显示您的代码和数据库。我假设你正在使用php和mysql。 我已经运行并测试了这段代码,但它确实有效。这意味着它会为你工作。我的连接是PDO。如果仍然有问题,请给我一个喊叫
<?php
// pdo connection
$db = new PDO (
'mysql:host=localhost;dbname=sectona_db;charset=utf8',
'root', // username
'root90' // password
);
?>
<?php
Echo 'Data Output:<br>';
include("pdo.php");
$result = $db->prepare("SELECT * FROM product where id='123'");
$result->execute(array());
while ($r = $result->fetch())
{
//$data = htmlentities($r['product'], ENT_QUOTES, "UTF-8");
?>
<?php echo htmlentities($r['product'], ENT_QUOTES, "UTF-8");?>,
<?php } ?>