我有两个格式如下的表:
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]%'
提前致谢
请结识我的一天。
答案 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