【发布时间】:2017-04-08 15:39:50
【问题描述】:
在我的一个表中,我以以下格式存储 GroupID:“2#3#5”,这意味着用户属于组 2、3 和 5。如何将查询修改为状态 g.GroupID IN ( 2,3,5) ?从哪里得到 2,3,5
SELECT GroupIDs FROM BW_Staff WHERE StaffCode = ''
// 输出:2#3#5
g.GroupID IN (2, 3, 5) 2、3、5个值需要来自这个查询,所以需要用哈希分割?
SELECT g.Name, u.StaffCode, SUBSTRING(u.Perms, 47, 1) AS Staff_Perm_Grant,
SUBSTRING(g.Perms, 47, 1) AS Group_Perm_Grant
FROM BW_Groups g,
BW_Staff u
WHERE g.GroupID IN (2, 3, 5) and u.StaffCode = 'KAA'
感谢您的帮助
【问题讨论】:
-
标记您正在使用的 dbms。 (那里有一些非 ANSI SQL...)
-
没有加入条件?添加示例表数据和预期结果 - 以及格式化文本。
-
这听起来是个很糟糕的设计。
-
我会用 UID、UserId、GroupNumber 创建另一个表“Groups”,而不是连接字符串字段。
标签: c# sql select split substring