Привет Я не уверен, как даже сформулировать этот вопрос, но я постараюсь изо всех сил.SQL один столбец несколько значений
У меня есть таблица, называемая играми, в этой таблице есть 3 столбца, ID (INT), epoch (INT) и пользователи (TEXT), теперь в каждом столбце пользователя есть значения от 4 до 25 значений, разделенных запятой , значения от 1 до 6 символов, так, например:
ID, EPOCH, USERS
1, 1461779167, (123, 58234, 548245, 225122)
2, 1461774823, (326784, 54235, 6373, 3566, 384174)
3, 1461773423, (326784, 542355, 234, 351)
Теперь моя проблема мне нужно fetech только среди пользователей, скажем, мне нужно получить «пользователь» 54235, он не может быть СОДЕРЖИТ потому что он столкнется с 542355, так что мне делать? Как правильно расположить эти столбцы, чтобы избежать таких ситуаций или упростить его вообще?
mySQL [find_In_set] (http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set) function .. 'SELECT * from table WHERE FIND_IN_SET (' 54235 ', пользователи)> 1'; Хотя на самом деле нельзя хранить данные таким образом, поскольку они не нормализованы. – xQbert
@xQbert Спасибо, каким образом он должен быть сохранен тогда? Я думал о лучшем решении – Theiq
У вас действительно есть круглые скобки вокруг списка в столбце 'USERS'? Это предотвратит работу FIND_IN_SET. Кроме того, у них не должно быть пробелов между запятыми. – Barmar