我对 SQL 不太了解,所以如果我的问题很愚蠢,我提前道歉。
我在一家生产微芯片的工厂工作。
我们一次批量生产 10,000 个微芯片。 每批微芯片主要由“批次代码”标识。
批次代码始终是一个以“1000-”开头,后跟 6 个自然数的字符串。 例如,“1000895645”是一个批次代码。
制造微芯片的第一阶段涉及同时运行(并行)两批微芯片。
这 2 批次称为“姐妹批次”。
例如,“1000895645”的姊妹地块是地块“1000895646”。
有一个名为 EM_EQUIPMENT_LG 的表,它在相邻列中显示姐妹批次。
LOT1 | LOT2 |
---|---|
1000895645 | 1000895646 |
(这可能不相关 - 但请注意,姐妹批次代码并不总是相差 +1。LOT1 也不总是较小的数字,也不总是奇数。)
还有另一个名为 SENSOR_LOT 的表,它显示批次的不同标识符,称为“LOT ID”。
它显示这样的条目:
LOT_代码 | LOT_ID |
---|---|
1000895645 | 1392371801 |
1000895646 | 1402371811 |
我的问题是 - 是否可以将这两个表连接在一起,以便我获得这样的表?
LOT_CODE1 | LOT_ID1 | LOT_CODE2 | LOT_ID2 |
---|---|---|---|
1000895645 | 1392371801 | 1000895646 | 1402371811 |
您可以两次加入同一个表,但需要唯一的别名。
下面的示例应该可以工作。
SELECT
EM_EQUIPMENT_LG.LOT1 AS LOT_CODE1
SL1.LOT_ID AS LOT_ID1
EM_EQUIPMENT_LG.LOT2 AS LOT_CODE2
SL2.LOT_ID AS LOT_ID2
FROM EM_EQUIPMENT_LG
JOIN SENSOR_LOT SL1 ON EM_EQUIPMENT_LG.LOT1 = SL1.LOT_CODE
JOIN SENSOR_LOT SL2 ON EM_EQUIPMENT_LG.LOT2 = SL2.LOT_CODE