case when 多条件查询
程序员文章站
2024-03-12 20:23:08
...
给客户做列表新增的时候,有个需求:根据广告类型从不同的表查询数据,保存到数据库。代码如下所示:
<div class="form-group" id="adType">
<label>类型:</label>
<select id='itemType' name="itemType">
<option value="">请选择</option>
<option value="1">资讯</option>
<option value="2">商品</option>
<option value="3">店铺</option>
<option value="4">网页</option>
</select>
</div>
资讯 (带搜索的下拉框) 1
Information 从information表中取ID和title del_flag为0的
/pet/web/information/information-web!getInfoSelectData
商品(搜索的下拉框) 2
goods 从goods表中取ID和name del_flag为0的
/pet/web/goods/goods-web!getGoodsSelectData
店铺(搜索的下拉框) 3
store 从store表中取ID和name audit_Type为1的(已审核)
/pet/web/store/store-web!getStoreSelectData
网页(输入链接地址)4 手动输入
综上所述,需要根据itemType的值从不同的数据库获取item_id的值。
下面是查询的语句,通过case when在MySQL中查询
(case
when (item_type = '1') then
(select i.title from information i where i.id = item_id)
when (item_type = '2') then
(select g.name from goods g where g.id = item_id)
when (item_type = '3') then
(select s.name from store s where s.id = item_id)
WHEN (item_type = '4') THEN
item_id
end
) as goodsName,
大功告成!第一次使用case when。
下一篇: 几个有意思的题目
推荐阅读
-
case when 多条件查询
-
sqlalchemy flask case when查询
-
Oracle查询语句中Case when的使用
-
MySQL中使用case when 语句实现多条件查询的方法
-
Oracle查询语句中Case when的使用
-
mysql when case 条件判断语名用法
-
mysql中case条件中case when 1 then xxx 与 case when a>0的结果不一样的疑惑
-
mysql中case条件中case when 1 then xxx 与 case when a>0的结果不一样的疑惑
-
MySQL中使用case when 语句实现多条件查询的方法
-
MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页