我试图加入2个表,但我无法确定查询的正确语法。我有一个包含引用资产表的错误的表。但是,对资产表的引用存在两次。一次是实际有缺陷的资产,一次是有缺陷资产所属的主要资产。
这是我的表格结构的简化版本。
表格错误
int faultId
int faultedAssetId
int faultedPrimaryAssetId
表资产
int assetId
varchar assetName
在我的查询中,我想结束以下列
faultId
faultedAssetId
faultedAssetName
faultedPrimaryAssetId
faultedPrimaryAssetName
我目前在faultedAssetId上加入了表格,并且能够从Assets表中检索assetName作为faultedAssetName但我无法弄清楚如何再次加入并将faultedPrimaryAssetId的assetName列检索为faultedPrimaryAssetName。
感谢任何帮助。如果我的问题不清楚,请告诉我。
答案 0 :(得分:0)
您可以使用表别名识别两个表。
SELECT
tf.faultId,
tf.faultedAssetId,
ta1.assetName AS faultedAssetName,
tf.faultedPrimaryAssetId,
ta2.assetName AS faultedPrimaryAssetName
FROM faults tf
LEFT JOIN assets ta1 ON ta1.assetId = tf.faultedAssetId
LEFT JOIN assets ta2 ON ta2.assetId = tf.faultedPrimaryAssetId