mysql - 如何在mysql中从不同表名具有不同值的多个列中选择?

标签 mysql

我有两张表产品和规范。在产品表中,有 PhoneMake、PhoneModel 和 ProductId 等列,而在规范中,有 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 查询是什么?

最佳答案

您必须了解联接:

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>必须更改 specs 之间的外键关系和product .

关于mysql - 如何在mysql中从不同表名具有不同值的多个列中选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28145644/

相关文章:

java - 尝试使用 hibernate 连接 mysql 时连接被拒绝

mysql - 需要创建一个查询来显示 April Roberts 的订单。我只需要输出来显示 OrderID 和 OrderDate。这是我到目前为止所拥有的

php - 提交表单后生成包含详细信息的唯一页面

mysql - 解码 mysql xdevapi 时间戳

mysql - 如何为我的表中的多个代码选择最新行?

sed 替换密码后,以前工作的代码出现 MYSQL 用户创建语法错误

mysql - 在表 mysql 中使用 IN 时非常慢 46.4878 秒

mysql - mysql数据如何存储在磁盘上?

android - 我应该为不同的对象动态创建新表吗?

mysql - 查询结果作为 MySQL 中 WHERE 语句的参数