我的表是:
id | id_fruit |名称
2|1|orange|
3|1|apple|
23|1|banana|
34|1|ananas|
35|3|kiwi|
我想提取id_fruit = 1的所有名称,并以这种方式将它们作为值打印在表单字段中: 橙色,苹果,香蕉,凤梨
我已经尝试过了
select concat_ws(', ', name) from fruits where id_fruit=1
但不起作用。
我可以这样做吗?谢谢!
答案 0 :(得分:0)
只需通过PHP,你就可以这样做! 你可以循环所有这样的名字。
<强> PHP 强>
$in = 0;
$fruits = "";
while($row = mysqli_fetch_assoc($exeutedquery)){
if($i == 0){
$fruits += $row['name'];
$i++;
}else{
$fruits += ",".$row['name'];
}
}
AND FOR SQL
SELECT STUFF
(
(select ',' + name
from
fruits
where
ID in (1,2,3)
FOR XML PATH('')
),1,1,''
)
BAM!
答案 1 :(得分:0)
mysql中的User Group_Contact函数
从我的表中选择group_concat(name),其中fruit_id = 1
答案 2 :(得分:0)
我认为您误解了concat_ws()
使用
MySQL documentation about this function解释说,你必须立即加入每一个论点
所以你的sql语句没有效果。
正如Raja所说,你可以使用你的后端编程语言(例如php,python或你使用的任何东西)。
您只需select
而没有concat_ws
,并在后端进行加入。
似乎concat_ws()
主要用于连接mysql中相同条目的两个字段,例如同名用户(条目)的名字和姓氏(字段)。