我有如下表
+--------+---------+------------------------------------+
| Id | Name | DataID |
+--------+---------+------------------------------------+
| 1 | xyz | 111,222,333,444 |
| 2 | xxz | 555,666,777 |
| 3 | xyx | 888,999,000,001 |
| 4 | yyz | 010,011,100,200 |
| 5 | xyy | 600,500,400,300,555 |
| 6 | yyy | 111,700,800,900 |
| 7 | zyz | 050,0150,025,550,950,888 |
| 8 | xzz | 800,786 |
|
|
|
| 1123 | aaa | 111,444,666,888 |
| 1124 | bbb | 889,998,777 |
+--------+---------+------------------------------------+
并且还有一些
DataID = (786,333,500,777)
列表。所以现在我想用DataID列检查此列表。例如,现在第8行的DataID列为786,第1行的为333,第5行的为500,第1124和2行的为777。现在我要获取此记录作为输出。就像下面给出的。请有人帮我解决这个问题,如果我的英语不好,并且我的问题很基本,对不起。但是请有人帮忙。预期输出如下+--------+---------+------------------------------------+
| Id | Name | DataID |
+--------+---------+------------------------------------+
| 1 | xyz | 111,222,333,444 |
| 2 | xxz | 555,666,777 |
| 5 | xyy | 600,500,400,300,555 |
| 8 | xzz | 800,786 |
| 1124 | bbb | 889,998,777 |
+--------+---------+------------------------------------+
谢谢
最佳答案
尝试这个:
SELECT name FROM table WHERE FIND_IN_SET('777', DataID)
那应该返回xxz和bbb
同意上面的评论者,这不是处理数据的好方法。