我有如下表

+--------+---------+------------------------------------+
|   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

同意上面的评论者,这不是处理数据的好方法。

09-25 16:18