mysql - 如何在 select if() 的真假条件下运行 select 语句
问题描述
我正在尝试在 MYSQL DB 中运行如下查询。它不工作。谁能为此提供正确的语法?
SET @var="sql";
select if(@var==sql,
select col1,col2,col3 from tableA,
select col5,col6,col6 from tableB);
基本上我想根据@var 的值执行不同的查询。if @var='sql' then query1 else if @var='mysql' then query2 else if @var='oracle' then query3
解决方案
select col1,col2,col3 from tableA WHERE @var = 'sql'
UNION ALL
select col1,col2,col3 from tableB WHERE @var != 'sql'
如果condition
IS NULL 则不会返回任何行 - 在这种情况下调整第二个子查询中的条件。
推荐阅读
- c++ - 用外部常量初始化 constexpr
- java - 如何向上旋转这个手臂?
- django - 无法在后台模式下显示 Firebase 推送通知/消息
- angular - 如何在角度应用程序中将窗口屏幕尺寸锁定为 16:9
- python-3.x - 分块数据框
- flutter - Flutter:即使从对话框对状态所做的更改未重定向到它,状态也在更新
- javascript - 如何使用不同的选项(Grapes.js)两次使用相同的插件
- php - 如何在 woocommerce 中更改自定义用户注册文件中的错误显示顺序
- angular - 如何将 MVT 切片链接到矢量图层的源属性?
- docker - rabbitMQ REST API 创建 vHOST 使套接字挂起