0

我有以下查询来执行

SELECT m.*, s.momento_idmember, sd.id_send, d.momento_id
FROM `momento_send` s,
    `send_distribution` sd,
    `momento_distribution` d,
    `momento` m
WHERE
    s.momento_idmember=6 AND
    sd.id_send=s.id AND
    sd.id_distribution=d.id AND
    d.momento_id=m.id;

MySQL 5.5.24 有正确的表之间的关系。

有人可以建议如何通过推进中的标准(或任何最好的)来实现这个查询。我尝试了 2 个多小时,但没有成功。

4

1 回答 1

1

我将继续这样的事情:

$c = new Criteria();
$c->clearSelectColumns();
$c->addSelectColumn(MomentoSendPeer::MOMENTO_IDMEMBER);
$c->addSelectColumn(SendDistributionPeer::ID_SEND);
$c->addSelectColumn(MomentoDistributionPeer::MOMENTO_ID);

$c->addJoin(SendDistributionPeer::ID_SEND, MomentoSendPeer::ID, Criteria::INNER_JOIN);
$c->addJoin(SendDistributionPeer::ID_DISTRIBUTION, MomentoDistributionPeer::ID, Criteria::INNER_JOIN);
$c->addJoin(MomentoDistributionPeer::MOMENTO_ID, MomentoPeer::ID, Criteria::INNER_JOIN);

$c->add(MomentoSendPeer::MOMENTO_IDMEMBER, 6);

我不认为你可以选择m.*使用推进 1.4。因此,您必须手动添加所有字段。

于 2012-08-30T09:40:57.813 回答