Union all on the same table 需要显示不同的数据

Union all on the same table need to show different data

我正在与 UNION ALL 在同一个 table 上工作,如果条件为 1,则显示带有条件的不同数据,但现在即使条件为 0 也显示给我。

这是mysql部分:

$result = $conn->prepare("(SELECT  cod, CONCAT(name,' ',presentation) AS name, price, discount
        FROM PRODUCTS WHERE UPPER($type) LIKE :name GROUP BY cod)
        UNION ALL
        (SELECT  cod, CONCAT(name,' ',presentation,'(box)') AS name, price1, discount1
        FROM PRODUCTS WHERE medida != '0' AND UPPER($type) LIKE :name GROUP BY cod)
        ");

我需要向用户显示两个产品,只有当搜索的产品在 row 'medida' 中具有值 1,如果产品中的 row 'medida' 具有值 0 只会显示一个产品 (一些产品按单位销售,其他产品按单位和盒装销售)

这是一个捕获,其中项目在行 meda 中的值为 0,并且假设只显示一个项目,第一个但显示两个项目

我发现错误了,现在一切正常,谢谢@nbk 的帮助。

这里是 url 到 dbfiddle 以显示查询有效

UNION ALL same DB