当值存储在另一个ROW中时,SQL使用IN

时间:2017-09-11 16:09:58

标签: mysql sql

所以我有一些数字,我存储在行中作为(1,2,3)(让我们在表“some”中将其命名为“ids”) 我在另一个查询中使用LEFT JOIN来使用此字段作为ids获取一些行 但是当我写作

LEFT JOIN sometable AS st WHERE some2.id IN some.ids

我收到错误。 我如何正确地使用它,或者可能是另一种方式来实现它 感谢

1 个答案:

答案 0 :(得分:1)

将逗号分隔的整数列表存储为字符串是存储事物的错误方法。你应该使用联结表。

如果您坚持使用此格式并且不关心性能,可以使用find_in_set()

where find_in_set(some2.id, some.ids) > 0