2012-07-09 139 views
1

值MySQL表的样子:PHP比较从MySQL

id |  values 
    -------------------------------- 
    41 | 154, 256, 526, 50 
    86 | 542, 586, 785, 41 

我想从这个数据库值从另一个MySQL查询结果来比较值。 从另一个查询我得到的结果为特定用户和衣被合计,例如:

user id: 41 
values: 154,526,50 

我如何比较这两台数据库“值”列,并得到占总不同的价值观和价值观的结果数那是不同的?

在这个例子中是PHP函数的结果将是:

total number of different values: 1 
different value: 256 
+3

[你有什么尝试?](http://WhatHaveYouTried.com) – 2012-07-09 12:59:00

+0

你是否尝试过爆炸这两个字段并比较数组? – Peon 2012-07-09 12:59:55

回答

3

通过标准化数据库。将这些值保存在不同的表中,并创建一个新的耦合表,将这些值连接到用户。这将大大缓解你的发展。

编辑: 查询会再看看这样的:

SELECT 
    value 
FROM 
    couplings_table 
WHERE 
    user_id = X 
AND 
    value NOT IN (SELECT 
        value 
        FROM 
        couplings_table 
        WHERE 
        user_id = Y) 
+0

请在标准化数据库设计中显示查询的样子。 – 2012-07-09 13:49:45

+0

请参阅更新。 – Sherlock 2012-07-09 14:40:50

1

爆炸与 “” 和使用阵列的差异或者搜索每一个项目in_array并使用结果。我认为array_diff就是为了这个。