0

有时我的眼睛会因为这些连接而发疯。请帮我建立选择语句

产品版本

 id    version
----------------
  1     apple
  2     orange
  3     pineapple

处决

 id    class       methods    plat_version    orig_prod_version
-----------------------------------------------------------------
  1    SomeTest     check          2               1 
  2    AnotTest     submit         3               2

我想从执行中提取,但从另一个表中的版本转换数字。我试图开始并在这一点上做一个。这是我所拥有的

SELECT e.id, 
e.class, 
e.plat_version, 
pv.id, 
pv.version, 
pv.version AS plat_version FROM executions e JOIN product_versions pv ON pv.version = e.plat_version

谢谢您的帮助。

更新:我希望它从执行表中提取记录,但我不想看到 plat_version 和 orig_prod_version 的数字,而是希望从另一个表中查看相应的版本字段

4

2 回答 2

2

我在想这样的事情:

SELECT 
e.id, 
e.class, 
pv_plat.version AS plat_version, 
pv_orig.version AS orig_prod_version,
FROM executions e 
JOIN product_versions pv_plat ON pv_plat.id= e.plat_version
JOIN product_versions pv_orig ON pv_orig.id= e.orig_prod_version

这个想法是您只需加入该product_versions表两次,一次用于您在 executions 表中的每个 id 列。

于 2013-07-10T21:10:48.237 回答
1
SELECT *
FROM executions e
LEFT JOIN product_version v
ON e.plat_version = v.id
LEFT JOIN product_version v2
ON e.orig_prod_version = v2.id

在此处输入图像描述

SQL JOIN 解释

于 2013-07-10T21:10:35.333 回答