【问题标题】:How to use a subquery/join with three tables in mysql?如何在 mysql 中使用带有三个表的子查询/连接?
【发布时间】:2014-02-03 17:57:58
【问题描述】:

测试计划

  1. 身份证
  2. testplan_id
  3. tcversion_id
  4. platform_id

处决

1. id
2. build_id
3. testplan_id
4. tcversion_id
5. platform_id
6. status
7. execution_ts
8. tester_id

构建

1. id
2. testplan_id
3. name
4. active

如上所示,我有三个表。 测试计划表存储所有用例 执行表存储执行相关数据 构建表存储构建相关数据

我想从这些表中检索数据,这样它应该显示 testplan 表中的所有行,如果执行表中有任何执行,并且只有构建表中的构建名称,则对于每一行。

我使用了以下查询

SELECT
tptcv.id,
tptcv.testplan_id,
e.tcversion_id,
tptcv.platform_id,
tptcv.creation_ts,
b.name AS Build_name,
e.status AS status,
e.execution_ts,
e.tester_id
from testplan tptcv
inner join executions e on tptcv.tcversion_id=e.tcversion_id and     tptcv.platform_id=e.platform_id and tptcv.testplan_id=e.testplan_id
inner join builds b on tptcv.testplan_id=b.testplan_id
WHERE
b.active=1 

enter code here

这个查询没有给我预期的结果,因为在此处输入代码所需的计数与测试计划表中的行相比。

如果有人在这种情况下帮助我,我将不胜感激。

提前致谢。

【问题讨论】:

  • 请提供样本数据和所需结果。
  • 嗨,戈登,请给我您的电子邮件,以便我可以向您发送示例数据和所需的结果。我试图将文件/图像附加到此帖子,但由于我是该论坛的新用户并且不允许我附加文件,因此无法这样做。谢谢
  • 您可以将照片上传到文件共享网站,然后将链接粘贴到此处。
  • 请参考这些链接获取所有表的样本数据照片,查询结果和我期待的结果testplanexecutionsbuildsQueryResultExpectedResults

标签: mysql sql join subquery


【解决方案1】:

删除WHERE b.active = 1并检查您是否得到预期的答案(因为构建表没有名为active的列)

【讨论】:

  • 我的表中有活动字段,我忘了在我的帖子中提及
猜你喜欢
  • 2012-05-02
  • 2013-07-13
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 2017-03-01
  • 2015-09-26
相关资源
最近更新 更多