我有3张 table
例如
Salestable
-ID
-variableB
-customerUUID
-variableC
Customertable
-customerUUID
-contractUUID
Contracttable
-contractUUID
-variableD
所以我目前正在 salestable 上执行 SQL 查询
喜欢:
SELECT DISTINCT variableB FROM Salestable WHERE variableD = "blah";
我该怎么做?在哪里可以找到与当前销售表关联的契约(Contract)?
更多信息
它们都是 1:1 关系 - 因此 Contracttable 绑定(bind)到 1 个 Customertable,而 1 个 Customertable 又绑定(bind)到 1 个 salestable
我的数据库中有大量数据,数千个条目 - 该查询不会持续运行,但确实需要运行得稍微高效。
最佳答案
SELECT a.*
FROM SalesTable a
INNER JOIN CustomerTable b
ON a.customerUUID = b.customerUUID
INNER JOIN Contracttable c
ON b.contractUUID = c.contractUUID
WHERE c.variableD = 'valueHere'
要进一步了解有关联接的更多知识,请访问以下链接:
关于mysql - 如何搜索表 1 中的某些数据和表 3 中的其他数据的位置,并且两者的 UUID 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16555523/