mysql两个表条件_mysql – 在另一个表中选择具有多个条件的...
这是我的简化数据库方案
-- -----------------------------------------------------
-- 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 – 在另一个表中选择具有多个条件的...相关推荐
- MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表 有两张表,info1, info2 . info1: info2: 方式一:要用info2中的 ...
- 数据表数据迁移——复制一个表的数据到另外一个表
通过 SQL,你可以从一个表复制信息到另一个表. MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT . 1.SQL SELECT I ...
- mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表
我无法相信你没有找到合适的脚本来做到这一点.根据服务器到服务器的带宽和连接以及表数据大小,您可以: >直接转移整个表: mysqldump [options] sourcedatabase ta ...
- mysql创建表关联_MySQL创建高级联表教程
#MYSQL#这是我第七篇MySQL教程,本篇主要介绍的是如何创建高级联表查询,主要包括使用表的别名,和自连接,外连接,和使用聚合函数连接,已经如何创建链接的条件.希望对你有所帮助. 在MySQL中除 ...
- mysql innodb表移植_mysql Innodb引擎独立表空间下通过复制.ibd文件快速迁移数据文件...
假设需求:需要把库test1中的的数据迁移到test2中,并且test2中数据量特别大 硬性条件:1.mysql 使用 Innodb引擎,且开启独立表空间,2.两个库的mysql版本一致(不同版本下未 ...
- mysql锁表查询_Mysql upate 更新锁表还是锁行测试
mysql 学习 主题: -- 查询是否自动提交事务select @@autocommit;--关闭自动提交事务set autocommit = 0;--开启--执行--结束 事务start tran ...
- mysql 多个select查询_MySQL的select多表查询
select 语句: select 语句一般用法为: select 字段名 from tb_name where 条件 ; select 查询语句类型一般分为三种: 单表查询,多表查询,子查询 最简单 ...
- mysql使用联结的好处_MySQL基础之联结表
联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用SQL的SELECT能执行的最重要的操作. 关系表 关系表的设计就是要保证把信息分解成多个表, 一类数据一个表.各 ...
- mysql删除表命令_MySQL创建和删除表操作命令实例讲解
创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...
最新文章
- 前端Vue学习之路(一)-初识Vue
- 小白兔写话_聪明的小白兔看图写话
- 学python爬虫需要什么基础-从零开始教你学爬虫!python爬虫的基本流程!
- 在VS2010调试javascript程序时的各种问题
- scala集合同时支持不可变集合和可变集合
- python queue模块安装_Python -- Queue模块
- 三星Galaxy S22售价曝光:国行可能4999元起
- C语言描述信息的结构体,(c语言)游戏中由人物各种信息组成的结构体
- HTML5中最重要的技术点有哪些
- 基于GPU的医学图像三维重建体绘制技术综述
- 高并发系统架构案例 - 微信红包高并发架构设计 - 学习/实践
- c# chart 各个属性_C#之Chart控件系列教程
- 如何自制自平衡云台基于mpu6050,arduino输出三维倾斜角度的方法(含源码,库)
- 与现代教育技术有关的计算机知识,基于计算机的现代教育技术手段的利用与开发...
- 李春华:B2C商城做SEO的九个常见目标定位
- 光和颜料中的三原色,美术中的三原色
- JS基础-一个完美的递归函数
- Lync 2013兼容性
- 钱多多软件制作第一天
- Android按键Input KeyEvent