正吃饭中被大学同学call起,帮他同事解决一个复杂的SQL问题
1 SHE第一封email:
select distinct Test.Name,Test.ID,Plan_Device.ID from Test,Plan_Device where Test.ID in(select TestID from TestResult where (StatusID=1 || StatusID=2)
and PlanResultID=(select ID from PlanResultwhere Sessionid='tangzm_ASBSH2_20131204_10371' and PlanID=(select ID fromTestPlan where Name='MEG_DS3_RRA_FT_MCM3_003')))
and Test.TestPlanID=Plan_Device.TestPlanID
select Test.Name,Test.IDfrom Test,AssociateTest where (AssociateTest.TestID=69721or AssociateTest.AssoccaseID=69721) and
(Test.ID=AssociateTest.AssoccaseID orTest.ID=AssociateTest.TestID);
现在有这样两个查询,我需要的字段是第二句中的Test.Name,Test.ID和第一句中的Plan_Device.ID
第二句中的69721应该是第一句中查询结果的Test.ID
请问这个语句应该怎么写呢?
2 ME第二封email:
SELECT DISTINCTTest.Name,Test.ID,Plan_Device.ID
FROMTest,Plan_Device,AssociateTestWHERE Test.ID IN (SELECT TestID FROM TestResult WHERE (StatusID=1 ||StatusID=2)
AND PlanResultID=(
SELECT ID FROM PlanResult WHERE Sessionid='tangzm_ASBSH2_20131204_10371' ANDPlanID=(SELECT ID FROM TestPlan WHERE NAME='MEG_DS3_RRA_FT_MCM3_003')))
ANDTest.TestPlanID=Plan_Device.TestPlanID
and (AssociateTest.TestID=Test.ID ORAssociateTest.AssoccaseID=Test.ID)
AND (Test.ID=AssociateTest.AssoccaseID ORTest.ID=AssociateTest.TestID);
黄色部分是我添加进去的,你看看是否可以运行得到你要的结果。
[备注]:我以为是简单的取值,直接把第三张表关联起来把判断条件加上不就行了吗?
3 SHE第三封email:
结果显示和第一句查询的结果相同
select Test.Name,Test.IDfrom Test,AssociateTest where (AssociateTest.TestID=69721or AssociateTest.AssoccaseID=69721) and
(Test.ID=AssociateTest.AssoccaseID orTest.ID=AssociateTest.TestID);
应该显示两行结果,一行是AssociateTest.TestID=69721查询出来的,另一行是AssociateTest.AssoccaseID=69721查询出来的
[备注]
看到她的回复,再仔细看看她第一封email的描述,我知道了她的意思,不仅仅是简单关联,是要把2个结果集归纳到一起,再取出值,换思路吧。
4 ME第四封email:
想了想,要使用单独集合了,写了sql,发email给她,你试下下面这个:
SELECTTest.Name,Test.ID,TP.Plan_Device_IDFROM Test,AssociateTest,(
SELECTDISTINCT Test.Name,Test.ID,Plan_Device.ID Plan_Device_ID
FROM Test,Plan_DeviceWHERE Test.ID IN (SELECT TestID FROM TestResult WHERE (StatusID=1 ||StatusID=2)
ANDPlanResultID=(
SELECT ID FROM PlanResult WHERE Sessionid='tangzm_ASBSH2_20131204_10371' ANDPlanID=(SELECT ID FROM TestPlan WHERE NAME='MEG_DS3_RRA_FT_MCM3_003')))
ANDTest.TestPlanID=Plan_Device.TestPlanID
)TP
WHERE(AssociateTest.TestID=TP.IDOR AssociateTest.AssoccaseID=TP.ID)AND (Test.ID=AssociateTest.AssoccaseID OR Test.ID=AssociateTest.TestID);
5SHE第五封email:
这个可以用, 谢谢!
OK,搞定了。
分享到:
相关推荐
数据库-[MySQL 写SQL]吃饭中被call起,帮她解决一个SQL的过程.rar
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
现在假设服务器代码执行过程中,某个sql执行比较缓慢,那如何进行优化呢? 假如现在服务器代码执行如下sql存储过程特别缓慢: call sp_wplogin_register(1, 1, 1, '830000', '222222'); 可以按如下方法来进行调试...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用...
完事呢,咱们来创建一个名为GetAllProducts()的简单存储过程哈,这个GetAllProducts()存储过程呢,主要是用来从products表中选择所有产品。咱们来启动 mysql 客户端工具并键入以下命令: DELIMITER // CREATE ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
非常简单的一个C#源码文件,C#接收存储过程输出参数。
The first debugger for MySQL that offers step-by-step code execution, breakpoints,watches, a call stack, a variables evaluation mechanism to automate debugging of MySQL stored routines and triggers ...
使用非常方便,也很容易作为开发演示或者作为最终产品的一部分发布. 使用: 下载后解压缩到磁盘上的任意目录, 可以看到多出了一个 mysql6green 的目录. 打开这个目录, 有以下的几个文件: <br> 文件 说明 ...
1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用...
这里分享一份我们定义MySQL开发设计规范包括表设计规范,字段设计规范,SQL编写规范 数据库对象命名规范 数据库对象 命名规范的对象是指数据库SCHEMA、表TABLE、索引INDEX、约束CONSTRAINTS等的命名约定 数据库对象...
1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数...
本文实例讲述了Python调用MySQL存储过程并获得返回值的方法。分享给大家供大家参考。具体实现方法如下: try: conn = MySQLdb.connect ( host = 'localhost', user = 'root', passwd = 'pass', db = 'prod', ...