当前位置:  开发笔记 > 编程语言 > 正文

MySQL条件语句

如何解决《MySQL条件语句》经验,为你挑选了1个好方法。

好吧,所以我有一个看起来像这样的查询:

SELECT 
    `orders`.*,
    GROUP_CONCAT(
        CONCAT(
            `menu_items`.`name`, 
            ' ($',
            FORMAT(`menu_items`.`price`,2),
            ')'
        ) SEPARATOR '
' ) as `items`, SUM(`menu_items`.`price`) as `additional`, `children`.`first_name`, `children`.`last_name`, `organizations`.`base_price` FROM `orders`, `order_items`, `menu_items`, `children`, `organizations` WHERE `order_items`.`menu_item_id` = `menu_items`.`id` AND `order_items`.`order_id` = `orders`.`id` AND `orders`.`added_by` = {$user_id} AND `orders`.`date` > '{$cutoff}' AND `children`.`id` = `orders`.`child_id` AND `organizations`.`id` = `children`.`organization_id` GROUP BY `orders`.`id`

我知道这是一个怪物,有些人会在不使用显式连接之前死掉.但是,忽略这一点,我想做的只是使用if CONCAT里面大于0,否则只返回.但是,我没有成功试图扔进那里.我已经阅读了手册,但我尝试过的所有方法都不起作用,我很确定我在整个条件语句中都缺少一些东西.GROUP_CONCATmenu_items.pricemenu_items.nameIF



1> Lance Robert..:

你尝试过这样的东西吗?

CASE WHEN 'menu_items'.'price' = 0 THEN 'menu.items'.'name' ELSE CONCAT (etc) END 

CONCAT当然取代声明.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有