我有3张桌子
例如
Salestable
-ID
-variableB
-customerUUID
-variableC
Customertable
-customerUUID
-contractUUID
Contracttable
-contractUUID
-variableD
所以我目前正在对salestable进行SQL查询
像:
SELECT DISTINCT variableB FROM Salestable WHERE variableD = "blah";
我该怎么做?我在哪里可以找到与当前salestable相关的合同?
更多信息
他们都是1:1的关系 - 所以Contracttable与1个Customertable相关联,与1 salestable相关
我的数据库中有很多数据有数千个条目 - 这个查询不会持续运行,但确实需要运行一些。
答案 0 :(得分:1)
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'
要进一步了解联接,请访问以下链接:
答案 1 :(得分:1)
如果您确定合同存在,请使用此(其他交换INNER FOR LEFT):
SELECT variableB, variableD
FROM Salestable t1
INNER JOIN Customertable t2 ON (t1.customerUUID = t2.customerUUID)
INNER JOIN Contracttable t3 ON (t3.contractUUID = t2.contractUUID)
WHERE variableD = "blah"
GROUP BY t1.variableB