需要生成记录,一对多。 MySQL的

时间:2017-07-26 14:36:01

标签: mysql select join

我有一个名为testPPDS的表,其中包含我的个人记录。 ProjectUID是唯一的(虽然没有强制执行唯一键)。环境是空白的。

+------------+-------------+-------------+
| ProjectUID | ProjectName | environment |
+------------+-------------+-------------+
| 1          | Project1    |             |
| 2          | Project2    |             |
+------------+-------------+-------------+

我有另一个名为testMASTER的表,其中包含填充testPPDS表所需的环境信息。它的数据低于......

+------------+-------------+
| ProjectUID | environment |
+------------+-------------+
| 1          | DEV1        |
| 1          | DEV2        |
| 2          | DEV3        |
| 2          | DEV4        |
+------------+-------------+

我正在尝试生成详细说明ProjectUID及其显示的所有环境的记录。然后我将使用此SELECT填充新表。

+------------+-------------+-------------+
| ProjectUID | ProjectName | environment |
+------------+-------------+-------------+
| 1          | Project1    |  DEV1       |
| 1          | Project1    |  DEV2       |
| 2          | Project2    |  DEV3       |
| 2          | Project2    |  DEV4       |
+------------+-------------+-------------+

我正在尝试各种连接来实现这一点,似乎没有任何工作。以前有没有人碰过这样的事情?我感谢任何人的建议。 JC

2 个答案:

答案 0 :(得分:1)

SELECT testMASTER.ProjectUID , testPPDS.Projectname , testMASTER.environment FROM testMASTER RIGHT JOIN testPPDS ON testPPDS.ProjectUID = testMASTER.ProjectUID

enter image description here

答案 1 :(得分:1)

好的伙计们,我几乎感到尴尬,我问这个答案很简单。我发现的解决方案如下......

SELECT testPPDS.ProjectUID, testPPDS.ProjectName, testMASTER.environment 
FROM testPPDS, testMASTER 
WHERE testPPDS.ProjectUID = testMASTER.ProjectUID;

我会留在这里作为对他人的帮助和我白痴的纪念碑。

JW