如何在mysql中使用不同的值从不同的表名中选择多个列?

时间:2015-01-26 06:34:30

标签: mysql

我有两个表产品和规格。在产品表中,它有像PhoneMake和PhoneModel和ProducId这样的列,而在规格中有像Os_name,Dapps,Os_ram,ProductId这样的列。我的问题是如何从所有这些中选择多个列值。 像

select * 
  from product
where true 
  AND PhoneMake ='Motorola'
  AND PhoneMake ='Nokia '
  AND specs.Os_name ='on'
  AND specs.Os_name ='on'
  AND specs.Dapps ='on'
  AND specs.Os_ram =512 
  AND specs.Os_ram =1

什么是正确的mysql查询?

2 个答案:

答案 0 :(得分:0)

你必须了解联接:

select * from product join specs on <condition>
where PhoneMake in ('Motorola','Nokia') AND specs.Os_name ='on' AND specs.Dapps ='on'AND specs.Os_ram IN(512,1)

这是与表的简单连接。 <conditon>必须更改为specsproduct之间的外键关系。

答案 1 :(得分:0)

SELECT * 
  FROM product 
  INNER 
  JOIN specs 
    ON <condition>
 WHERE PhoneMake IN ('Motorola', 'Nokia ') 
   AND Os_name ='on' 
   AND Dapps ='on' 
   AND Os_ram IN (512, 1);