gpt4 book ai didi

mysql - 插入自定义标准

转载 作者:行者123 更新时间:2023-11-29 00:47:02 24 4
gpt4 key购买 nike

我正在尝试使用 propel critiera 构建以下查询:

SELECT *
FROM mytable
WHERE facility_id IN (4,7)
GROUP BY housing_id
HAVING COUNT(DISTINCT facility_id) = 2;

推进标准:

$criteria->add(HousingsHousingFacilitiesPeer::HOUSING_FACILITY_ID, $facility_filter, Criteria::IN);

$criteria->addGroupByColumn(HousingsHousingFacilitiesPeer::HOUSING_ID);

$criteria->addHaving(
$criteria->getNewCriterion(
HousingsHousingFacilitiesPeer::HOUSING_ID,
'COUNT(DISTINCT housings_housing_facilities.HOUSING_FACILITY_ID) = 2',
Criteria::CUSTOM
)
);

但查询确实返回任何结果。

我是否正确使用自定义条件?

最佳答案

乍一看,您的count distinct 似乎是错误的:

'COUNT(DISTINCT HousingsHousingFacilitiesPeer::HOUSING_FACILITY_ID) = 2'

如果它只是一个糟糕的 c/p,关于 this snippet ,你可能会这样做:

$c = new Criteria();
$c->add(HousingsHousingFacilitiesPeer::HOUSING_FACILITY_ID, $facility_filter, Criteria::IN);
$c->addGroupByColumn(HousingsHousingFacilitiesPeer::HOUSING_ID);
$c->addAsColumn('numFacilities', 'COUNT(DISTINCT '.HousingsHousingFacilitiesPeer::HOUSING_FACILITY_ID.')');
$c->addHaving($c->getNewCriterion(HousingsHousingFacilitiesPeer::ID, 'numArticles=2', Criteria::CUSTOM));

关于mysql - 插入自定义标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com