首页 > 解决方案 > union all 同一张表需要显示不同的数据

问题描述

如果条件为 1,我正在UNION ALL同一张表上使用条件显示不同的数据,但即使条件为 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则仅显示一种产品(某些产品按单位销售,而其他产品按单位和盒子出售)

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

图片

标签: mysqlunion-all

解决方案


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

这是显示查询工作的 dbfiddle 的 url

UNION ALL 相同的数据库


推荐阅读