0
此查询的目标是显示尚未创建任何货件的表订单中的记录。这里是它应该如何在SQL中完成:加入表为空的原则左连接显示结果
SELECT *
FROM orders
LEFT JOIN orders_shipments shipments ON orders.trx_id = shipments.trx_id
WHERE shipments.shipment_id IS NULL
AND orders.purchase_date IS NOT NULL
AND orders.fulfillment_channel = 'MFN';
以下查询显示0个结果。 Vs如下:
$qb = $this->createQueryBuilder('orders');
$qb->select('orders, shipments')
->leftjoin('orders.shipments', 'shipments')
->Where('shipments.id IS NULL')
->ANDWhere('orders.purchaseDate IS NOT NULL')
->ANDWhere('orders.fulfillmentChannel = :a')->setParameter('a', 'MFN');;
$results = $qb->getQuery()
->getResult();
return $results;
是否显示结果。为什么是这样以及如何解决它?
凡,ANDWhere是大写的错,但也许那不是问题。 –
echo $ qb-> getQuery();' – goto
-_dql:“选择订单,货物FROM OrderBundle \ Entity \ Orders订单LEFT JOIN orders.shipments货件WHERE shipments.id IS NULL AND orders.purchaseDate IS NOT NULL AND orders.fulfillmentChannel =:一个“ – user1029829