我有两个表解析MySQL中使用逗号作为分隔符
表1与用户逗号列表分隔
Name UserID
abc A,B,C,D
def A,B,C
表2
Name UserID
abc A
abc B
abc C
def A
def B
我需要找到一个在表1的用户为每个名称,但不是在table2中(当用户ID到名称对存在于table2中但不存在于CSV1中时,将不存在实例)。
输出应该
Name UserID
abc D
def C
我可以用PHP这样做,但有没有办法这可以通过查询来完成?我不知道从哪里开始以防我作为查询执行此操作。我可以使用逗号作为分隔符在MySQL中解析吗?
'我需要找到位于table1中的用户,而不是**每个名称**而不是table2。但是table1中的'D'不在**每个Name **中。 'D'只在'abc'中。那么它是如何产生你想要的输出呢? – hims056
我的意思是每个名称UserID对.. – Ank
你已经非规范化数据库中的数据。我建议你做的是运行一个PHP脚本来规范化数据,并将结果保存在数据库的标准化数据库中。这样,这个特定的查询和所有未来的查询将会简单得多。通常,最好避免存储在数据库字段中的逗号分隔值。有关数据库规范化的更多信息,请访问:http://databases.about.com/od/specificproducts/a/normalization.htm –