这是我的简化数据库方案

-- -----------------------------------------------------

-- Table `products`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `products` (

`id` INT NULL AUTO_INCREMENT,

`name` VARCHAR(45) NULL,

PRIMARY KEY (`id`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `properties`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `properties` (

`id` INT NOT NULL AUTO_INCREMENT,

`product_id` INT NULL,

`key` VARCHAR(45) NULL,

`value` VARCHAR(45) NULL,

PRIMARY KEY (`id`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Data for table `products`

-- -----------------------------------------------------

INSERT INTO `products` (`id`, `name`) VALUES (1, 'English Book with AudioCD');

INSERT INTO `products` (`id`, `name`) VALUES (2, 'Polish Book');

-- -----------------------------------------------------

-- Data for table `properties`

-- -----------------------------------------------------

INSERT INTO `properties` (`id`, `product_id`, `key`, `value`) VALUES (1, 1, 'Format', 'Book');

INSERT INTO `properties` (`id`, `product_id`, `key`, `value`) VALUES (2, 1, 'Format', 'Audio');

INSERT INTO `properties` (`id`, `product_id`, `key`, `value`) VALUES (3, 2, 'Format', 'Book');

INSERT INTO `properties` (`id`, `product_id`, `key`, `value`) VALUES (4, 1, 'Language', 'English');

INSERT INTO `properties` (`id`, `product_id`, `key`, `value`) VALUES (5, 2, 'Language', 'Polish');

这里有表格表示

+----+--------------------------+

| id | name |

+----+--------------------------+

| 1 | English Book wit AudioCD |

| 2 | Polish Book |

+----+--------------------------+

+----+------------+----------+---------+

| id | product_id | key | value |

+----+------------+----------+---------+

| 1 | 1 | Format | Book |

| 2 | 1 | Format | AudioCD |

| 3 | 2 | Format | Book |

| 4 | 1 | Language | English |

| 5 | 2 | Language | Polish |

+----+------------+----------+---------+

我需要选择所有具有键“格式”且值为“Book”和“AudioCD”的产品.但我只需要满足所有这些条件的产品.所以我只想要product_id 1而不是2(因为它没有AudioCD).另外我想要也可以添加语言键.

没有多个JOINS,有没有办法做到这一点?

多个JOINS的问题开始于我可以说20-30个键值属性的组合,因为它们将被自由添加.

感谢任何提示!

mysql两个表条件_mysql – 在另一个表中选择具有多个条件的...相关推荐

  1. MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表

    MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表 有两张表,info1, info2 . info1: info2: 方式一:要用info2中的 ...

  2. 数据表数据迁移——复制一个表的数据到另外一个表

    通过 SQL,你可以从一个表复制信息到另一个表. MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT . 1.SQL SELECT I ...

  3. mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表

    我无法相信你没有找到合适的脚本来做到这一点.根据服务器到服务器的带宽和连接以及表数据大小,您可以: >直接转移整个表: mysqldump [options] sourcedatabase ta ...

  4. mysql创建表关联_MySQL创建高级联表教程

    #MYSQL#这是我第七篇MySQL教程,本篇主要介绍的是如何创建高级联表查询,主要包括使用表的别名,和自连接,外连接,和使用聚合函数连接,已经如何创建链接的条件.希望对你有所帮助. 在MySQL中除 ...

  5. mysql innodb表移植_mysql Innodb引擎独立表空间下通过复制.ibd文件快速迁移数据文件...

    假设需求:需要把库test1中的的数据迁移到test2中,并且test2中数据量特别大 硬性条件:1.mysql 使用 Innodb引擎,且开启独立表空间,2.两个库的mysql版本一致(不同版本下未 ...

  6. mysql锁表查询_Mysql upate 更新锁表还是锁行测试

    mysql 学习 主题: -- 查询是否自动提交事务select @@autocommit;--关闭自动提交事务set autocommit = 0;--开启--执行--结束 事务start tran ...

  7. mysql 多个select查询_MySQL的select多表查询

    select 语句: select 语句一般用法为: select 字段名 from tb_name where 条件 ; select 查询语句类型一般分为三种: 单表查询,多表查询,子查询 最简单 ...

  8. mysql使用联结的好处_MySQL基础之联结表

    联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用SQL的SELECT能执行的最重要的操作. 关系表 关系表的设计就是要保证把信息分解成多个表, 一类数据一个表.各 ...

  9. mysql删除表命令_MySQL创建和删除表操作命令实例讲解

    创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...

最新文章

  1. 前端Vue学习之路(一)-初识Vue
  2. 小白兔写话_聪明的小白兔看图写话
  3. 学python爬虫需要什么基础-从零开始教你学爬虫!python爬虫的基本流程!
  4. 在VS2010调试javascript程序时的各种问题
  5. scala集合同时支持不可变集合和可变集合
  6. python queue模块安装_Python -- Queue模块
  7. 三星Galaxy S22售价曝光:国行可能4999元起
  8. C语言描述信息的结构体,(c语言)游戏中由人物各种信息组成的结构体
  9. HTML5中最重要的技术点有哪些
  10. 基于GPU的医学图像三维重建体绘制技术综述
  11. 高并发系统架构案例 - 微信红包高并发架构设计 - 学习/实践
  12. c# chart 各个属性_C#之Chart控件系列教程
  13. 如何自制自平衡云台基于mpu6050,arduino输出三维倾斜角度的方法(含源码,库)
  14. 与现代教育技术有关的计算机知识,基于计算机的现代教育技术手段的利用与开发...
  15. 李春华:B2C商城做SEO的九个常见目标定位
  16. 光和颜料中的三原色,美术中的三原色
  17. JS基础-一个完美的递归函数
  18. Lync 2013兼容性
  19. 钱多多软件制作第一天
  20. Android按键Input KeyEvent

热门文章

  1. 虚拟桌面环境需要一个什么样的接入网络?
  2. 基于linuxunix高性能web服务器架构思路分析
  3. 72小时BCH日本生存挑战赛顺利完成
  4. 失败的Omni协议与继续前行的虫洞协议
  5. 胥康成都行——ETC社区将会是全球最具有活力和影响力的超级社区
  6. 以佛像喷泉来探讨BCH物联网应用潜力
  7. 怎么制作营销型网站才能有效提升优化效果?
  8. AppData::create pipe(2) failed: Too many open file
  9. Linux内核进程调度的时机和进程切换
  10. Linux下安装Tomcat启动报错