检查where子句中的父表

时间:2017-08-07 01:06:58

标签: mysql

我有一个ProductDetail表和一个Product表。

每个ProductDetail都有一个" has_one"到产品名为ProductID

Product表格中有一个名为ShowOnTheseDomainTLDs的列,我在查询特定ProductDetails时需要检查

SELECT DISTINCT ProductDataValue FROM ProductDetail WHERE ProductDataName = 'Conjugate' AND Product.ShowOnTheseDomainTLDs IN ('AU', 'All') ORDER BY ProductDataValue ASC

我知道Product.ShowOnTheseDomainTLDs 100%不正确但我不知道在这里做什么来检查父项当桌面本身没有关系时,关系是在php框架中进行的我正在使用

类似的东西:

SELECT DISTINCT ProductDataValue FROM ProductDetail WHERE ProductDataName = 'Conjugate' AND ((SELECT COUNT(*) Product WHERE `ID` = ProductDetail.ProductID AND ShowOnTheseDomainTLDs IN ('AU', 'All')) > 0) ORDER BY ProductDataValue ASC

我不想使用框架提供的ORM并使用直接SQL查询的主要原因是出于性能原因。我可以遍历所有记录并检查他们的父母ShowOnTheseDomainTLD但这会增加不必要的开销

任何帮助或指示都会很棒

0 个答案:

没有答案