编写查询的SQL问题,其中组合在另一个表中定义

时间:2010-12-17 11:51:56

标签: sql

我有一个SQL情况,我没有解决方案。

位置的组合在表 PressureBox 中定义,其中DD和CR都是Location表的外键。

表格位置

+--------+--------+
| ID     | Name   |
+--------+--------+
| KPN1   | AA     |
| MIN2   | BB     |
| KGM10  | CC     |
| KST100 | DD     |
+--------+--------+

表PressureBox

+--------+--------+
| DD     | CR     |
+--------+--------+
| KPN1   | KGM10  |
| MIN2   | KST100 |
+--------+--------+

我正在尝试获取以下结果集:

+-------+-------+
| Loc1  | Loc2  |
+-------+-------+
| AA    | BB    |
| CC    | DD    |
+-------+-------+

(从表位置名称别名为 Loc1 / Loc2

因此,例如,KPN1 + KGM10必须产生“AA | CC”。

如何在SQL中实现?欢迎任何想法,解决方案或提示。感谢。

1 个答案:

答案 0 :(得分:2)

SELECT 
    Loc1.Name AS Loc1,
    Loc2.Name AS Loc2
FROM
    PressureBox PB
    JOIN Location Loc1 ON Loc1.ID = PB.DD
    JOIN Location Loc2 ON Loc2.ID = PB.CR