我需要比较mysql中group_concat的值。我对这一刻的质疑是:
Assert.AreEqual(("Wednesday",callStatus.['ok']))
返回给我http://prntscr.com/fbup3i。
我需要来比较Assert.AreEqual("Wednesday",callStatus.["ok"])
上的组concat中的值,如果第一个和第二个值相同,则添加一个列,我需要在其中放置“OK”。怎么做?
答案 0 :(得分:1)
您可以使用GROUP_CONCAT
从SUBSTRING_INDEX
中提取前两个值并检查它们是否相等
像
这样的东西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个值...在这种情况下你没有写下要做的事情......
答案 1 :(得分:0)
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 equals second
在状态列中添加OK
,则添加not ok
。