Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,我有 2 个表:
product: id: integer price: integer variation: id: integer product_id: integer price integer
有些产品有变体,有些产品没有变体。我想得到所有产品,按价格排序。如果产品有变体,则该产品必须按第一个变体价格排序,而不是按其自身价格排序。
是否可以制作这样的 Propel Criteria 或 Query ?
SELECT * FROM product p LEFT JOIN variation v ON p.id = v.product_id ORDER BY COALESCE(v.price, p.price)
COALESCE()返回其参数中的第一个不是NULL. LEFT JOIN 返回产品表中的所有内容,如果变体表上没有匹配项,则有NULL.
COALESCE()
NULL