mysql 复杂查询
1.同一个表下多次查询:
sql语句: select b.* ,(select name from exh_common.medicine_type a where b.p_id = a.id) as p_name from exh_common.medicine_type b;
获取表medicine_type中所有内容,并获取表中,所有p_id不为空的父类型的名称
2.三表联合查询
sql: SELECT a.*,b.type_id, c.`name`,c.description from medicine_cadn a LEFT JOIN medicine_cadn_type_rel b ON a.id = b.cadn_id LEFT JOIN medicine_type c ON c.id = b.type_id
参考来源:https://zhidao.baidu.com/question/1689579268873125748.html
三张表的表结构:
1.tablename:'medicine_goods'
id = Column(String(40), primary_key=True)
cadn_id = Column(String(40))
cadn_name = Column(String(200))
cadn_py_name = Column(String(200))
name = Column(String(200), nullable=False)
py_name = Column(String(200), nullable=False)
description = Column(String(1020))
factory = Column(String(200), nullable=False)
certificate = Column(String(100), nullable=False)
label = Column(Integer, nullable=False)
drug_type = Column(String(10), nullable=False, server_default=text("'固态'"))
drug_unit = Column(String(20), nullable=False, server_default=text("'mg'"))
specification = Column(String(200))
specification_shape = Column(String(200))
specification_dose = Column(String(200))
specification_count = Column(String(200))
take_way = Column(String(200))
images = Column(Text)
key1 = Column(String(200))
val1 = Column(String(200))
key2 = Column(String(200))
val2 = Column(String(200))
key3 = Column(String(200))
val3 = Column(String(200))
key4 = Column(String(200))
val4 = Column(String(200))
key5 = Column(String(200))
val5 = Column(String(200))
enabled = Column(Integer, nullable=False, server_default=text("'1'"))
is_del = Column(Integer, nullable=False, server_default=text("'0'"))
created = Column(DateTime, nullable=False)
created_by = Column(String(40), nullable=False)
updated = Column(DateTime)
updated_by = Column(String(40))
2.tablename__ = 'medicine_type'
id = Column(String(50), primary_key=True)
name = Column(String(100), nullable=False, unique=True)
description = Column(String)
p_id = Column(String(32))
enabled = Column(Integer, nullable=False, server_default=text("'1'"))
is_del = Column(Integer, nullable=False, server_default=text("'0'"))
created = Column(DateTime, nullable=False)
created_by = Column(String(40), nullable=False)
updated = Column(DateTime)
updated_by = Column(String(40))
3.tablename__ = 'medicine_cadn_type_rel'
id = Column(Integer, primary_key=True)
cadn_id = Column(String(40), nullable=False)
type_id = Column(String(40), nullable=False)
mysql 复杂查询的更多相关文章
- Linux下MySQL慢查询分析mysqlsla安装使用
说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...
- MySQL的查询计划中ken_len的值计算
本文首先介绍了MySQL的查询计划中ken_len的含义:然后介绍了key_len的计算方法:最后通过一个伪造的例子,来说明如何通过key_len来查看联合索引有多少列被使用. key_len的含义 ...
- mysql的查询、子查询及连接查询
>>>>>>>>>> 一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组). ...
- MySQL慢查询日志总结
慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...
- 【转】Mysql联合查询union和union all的使用介绍
Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合... ...
- mysql慢查询日志分析工具 mysqlsla(转)
mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览 ...
- Mysql慢查询和慢查询日志分析
Mysql慢查询和慢查询日志分析 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...
- [django/mysql] 使用distinct在mysql中查询多条不重复记录值的解决办法
前言:不废话.,直接进入正文 正文: 如何使用distinct在mysql中查询多条不重复记录值? 首先,我们必须知道在django中模型执行查询有两种方法: 第一种,使用django给出的api,例 ...
- MySQL 慢查询日志分析及可视化结果
MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...
- mysql datetime查询异常
mysql datetime查询异常 异常:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp (2011 ...
随机推荐
- Centos6.5 VM网络故障,可以Ping 通网关,无法上网或者访问其它网段
首先查看cat /etc/sysconfig/network-scripts/ifcfg-eth0 配置是否正确 查看cat /etc/udev/rules.d/70-persistent-net. ...
- 【sql server常用操作{增删改查}】
use DB_x go drop database DB_y create database DB_y --创建数据库 on primary --指定主数据文件 ( name= ...
- 常用的JavaScript设计模式(一)Constructor(构造器)模式
在es6中,新增了一个语法糖--class,可以说是为JavaScript引入了类的概念.而在传统的JavaScript中,则是通过构造器生成实例对象的. JavaScript支持特殊的constru ...
- windows下nginx的安装
一. 下载 http://nginx.org/ (下载后解压) 二. 修改配置文件 nginx配置文件在 nginx-1.8.0\conf\nginx.conf http { gzip on; ...
- day 25 模块与包
一.模块 模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类: 1.使用python编写的py文件 2.已被编译位共享库或者DLL或 ...
- Anaconda下的python如何写入环境变量中
Anaconda是一个非常好的python管理软件,实际使用起来要比直接用python自带的管理工具更好. 若需要将Anaconda下的python.exe添入环境变量中,需要如下设置 如上图所示,需 ...
- U盘kali系统安装
正言: 起初先百度了一下U盘安装Kali的资料,有很多版本和方法,当然还是以百度经验为例开始操作https://jingyan.baidu.com/article/cdddd41ca1027e53 ...
- Node.js Express+Mongodb 项目实战
Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...
- canvas画的文字在安卓移动设备上可以显示,但是在ios移动设备上无法显示
不用担心iOS Safari不支持canvas,查看https://caniuse.com/ 发现是支持的 ctx.font = "0.16rem Arial"; 为了适配移动端直 ...
- 苏州Uber优步司机奖励政策(4月2日~4月3日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...