Zend Framework で使用したいかなり複雑なクエリがあります。これを行うには、クエリをサブクエリから結合に変換する必要がありました。
これは取り引きです: 適切な情報を形成するために接続する必要がある 3 つのテーブルがあります。これは、次のクエリを使用して実行できます。
SELECT
ol.orders_id,
ol.photos_to_add,
ol.locations_id,
l.name,
(select
count(*)
from
photos as p
where
p.location_id = ol.locations_id and p.per_order = ol.orders_id)
as added
FROM `order_has_locations` AS ol,
`locations` AS l
WHERE ol.orders_id = 1 and l.id = ol.locations_id
私はそれを結合に変換しようとします:
SELECT ol.orders_id, ol.locations_id, ol.photos_to_add, l.name, count(p.id) AS added
FROM order_has_locations as ol
INNER JOIN locations as l on l.id = ol.locations_id
left outer join photos as p on p.per_order = ol.orders_id
where p.location_id = ol.locations_id and ol.orders_id = 1
ただし、この方法では、0枚の写真に関する情報が欠落しています。
色々な方法を試しましたがダメでした…