2017-10-10 35 views
0

比方说,我有数据库,因为这...如何选择其中一些列包含某些数据选择具有相同的所有列的另一列列

$db = [ 
['a' => 1, 'b'=> 2 ], 
['a' => 1, 'b'=> 12 ], 
['a' => 2, 'b'=> 2 ], 
['a' => 3, 'b'=> 12 ], 
['a' => 4, 'b'=> 2 ], 
['a' => 4, 'b'=> 12 ], 
['a' => 4, 'b'=> 4 ], 
    ]; 

如何正确地写一个WHERE语句,看到所有a哪里其中一个有b=4或仅包含b=12

WHERE 

据我所知,只适用于一行。我认为这就像每个语句的三次解析数据库,但我不担心这次的表现。

编辑:这是常见的一个的元素,其中 'B = 12' 和WHERE 1 = 1

回答

0

你的意思是让列,二者具有值4或12? 也许ü可以用这个 SELECT * FROM table WHERE b IN (4,12);

+0

我想看到所有A = 4或在本例中A = 3。 –

+0

根据你的问题你想得到价值b = 4或12,只有一个有价值4或3,是吗? –

0
SELECT * FROM table WHERE a IN (SELECT a FROM table WHERE b=4); 

第二个好像是

SELECT * FROM table WHERE a NOT IN (SELECT a FROM table WHERE b != 12) AND b = 12; 
相关问题