MySQL内连接,从不同的表检查

时间:2013-12-27 21:09:15

标签: mysql

我有两个格式如下的表:

INSERT INTO `mixture` (`id`, `item`) VALUES
(1,'water'),
(2,'gas'),
(3,'oil'),
(4,'ice');

另一张表

INSERT INTO `check` (`name`, `seen`) VALUES
('Nadia','[2][3]'),
('Omer','[1][4][2]');

需要的结果:
我如何得到结果来表明这一点?
Nadia只会看到混合信息.1& 4,而
Omer只会看到混合信息.3 3
每次他们看到结果时,mixed.id将被添加到他们的check.seen状态,以便他们将来不会看到相同的信息。
这就是我到目前为止所做的:

SELECT
    mixture.*,
    check.seen,
    check.name
FROM mixture
INNER JOIN check
WHERE check.seen not like '%[mixture.id]%'

提前致谢
请结识我的一天。

1 个答案:

答案 0 :(得分:0)

索引应该是一个数字类型,如整数而不是字符串,数字周围没有引号

您的另一张桌子将为该人所知的每种混合物都有一行

( '纳迪亚',2) ( '纳迪亚',3) ( '奥马尔',1) ( '奥马尔',4) ( '奥马尔',2)

Nadia的选择将返回包含2条记录的记录集,每个记录对应一个她知道的混合物,3对于Omer

Select seen FROM anothertable where name = 'Nadia'

连接将从第一个表中返回正确的混合项目字符串。

http://www.w3schools.com/sql/sql_join.asp