比较mysql中组_concat的值
我需要比较mysql中组_concat的值。我现在的问题是:比较mysql中组_concat的值,mysql,Mysql,我需要比较mysql中组_concat的值。我现在的问题是: SELECT it.Nr_Inwentarzowy, GROUP_CONCAT(it.Nazwa), GROUP_CONCAT(it.U_ytkownik), GROUP_CONCAT(it.Pok_j), COUNT(*), GROUP_CONCAT(z.Nr_inwentarzowy), z.Nazwa_maj_tku FROM intaktual
SELECT it.Nr_Inwentarzowy,
GROUP_CONCAT(it.Nazwa),
GROUP_CONCAT(it.U_ytkownik),
GROUP_CONCAT(it.Pok_j),
COUNT(*),
GROUP_CONCAT(z.Nr_inwentarzowy),
z.Nazwa_maj_tku
FROM intaktualny AS it
JOIN zestawycsv AS z
WHERE it.Nr_Inwentarzowy = z.Nr_inwentarzowy
GROUP BY (it.Nr_Inwentarzowy)
这是我的回报
我需要比较group_concat(it.u_ytkownik)、group_concat(it.pok_j)
上的group concat值,如果第一个值和第二个值相同,则添加一列,我需要在其中输入“OK”。怎么做
select if(first=second,"ok", "not okay") as status,* from (
SELECT it.Nr_Inwentarzowy,
GROUP_CONCAT(it.Nazwa),
GROUP_CONCAT(it.U_ytkownik) as first,
GROUP_CONCAT(it.Pok_j) as second,
COUNT(*),
GROUP_CONCAT(z.Nr_inwentarzowy),
z.Nazwa_maj_tku
FROM intaktualny AS it
JOIN zestawycsv AS z
WHERE it.Nr_Inwentarzowy = z.Nr_inwentarzowy
GROUP BY (it.Nr_Inwentarzowy)
) as alias
如果
first等于second
在status列中添加OK
,否则添加notok
您可以使用子字符串索引从组的CONCAT
中提取前两个值,并检查它们是否相等
差不多
SELECT it.Nr_Inwentarzowy,
GROUP_CONCAT(it.Nazwa),
GROUP_CONCAT(it.U_ytkownik),
GROUP_CONCAT(it.Pok_j),
COUNT(*),
GROUP_CONCAT(z.Nr_inwentarzowy),
IF(
SUBSTRING_INDEX(GROUP_CONCAT(it.U_ytkownik), ',', 1) =
SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(it.U_ytkownik), ',', 2), ',', -1),
'OK', 'NOT OK')
z.Nazwa_maj_tku
FROM intaktualny AS it
JOIN zestawycsv AS z
WHERE it.Nr_Inwentarzowy = z.Nr_inwentarzowy
GROUP BY (it.Nr_Inwentarzowy)
**注意:如果少于2个值,此代码将打印“OK”。。。你没有写下在这种情况下该怎么办 你的问题不清楚。。。你能举例说明输入和期望的输出吗?输入是:代码、计算机部件的名称、用户和房间。我的问题是:如果它们不相等?你想把任何价值@MarcinGąsiorekI认为,我可以把“不正常”放在那里,我有代码,分配给不同的部分。将零件分配给用户。用户被分配到房间。当组_concat中的用户和房间相同时,我需要添加列“approved”并将其置于“ok”位置。否则,我需要添加列“未批准”,并将其置于“不确定”位置。这显示在上面的链接中。@MarcinGąsiorek是的,这是一种类型。现在检查一下,你的“*from”旁边的语法有问题(-我使用的是phpmyadminWhat是e.FName?而且,我的代码只在一列上检查这一点,应该很容易在两列上都进行检查…好的,它可以工作。当值少于2时,打印“not ok”。你能@YossiVainshtein吗?如果有3个值,那么把“not ok”放在ok上,明白了吗;)谢谢!