Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1266|回复: 0

^查询结果表头如何动态显示???????? △

[复制链接]

该用户从未签到

发表于 2011-11-2 08:12:35 | 显示全部楼层 |阅读模式
oracle sql語句如下:
select  
  to_char(MMT.TRANSACTION_DATE,'yyyymmdd') "DATEA",   
  msis2.serial,   
  msis.model,   
  MMT.SUBINVENTORY_CODE "SUBINV",  
  MMT.TRANSACTION_TYPE_Id TYPE_ID,
  sum(MMT.TRANSACTION_QUANTI1TY ) "QTY"   
   
from MTL_MATERIAL_TRANSACTIONS MMT,
  MTL_TRANSACTION_TYPES MTT,
MTL_SYSTEM_ITEMS_FVL MSIF
  ,(SELECT MSIF.INVENTORY_ITEM_ID,MICV.CATEGORY_CONCAT_SEGS model
  FROM MTL_ITEM_CATEGORIES_V MICV,
  MTL_SYSTEM_ITEMS_FVL MSIF
  WHERE MICV.INVENTORY_ITEM_ID = MSIF.INVENTORY_ITEM_ID  
  AND MICV.ORGANIZATION_ID in (83) AND MSIF.ORGANIZATION_ID in (83)
  AND MICV.CATEGORY_SET_ID = '1100000001') msis  
  ,(SELECT MSIF.INVENTORY_ITEM_ID,MICV.CATEGORY_CONCAT_SEGS serial
  FROM MTL_ITEM_CATEGORIES_V MICV,
  MTL_SYSTEM_ITEMS_FVL MSIF
  WHERE MICV.INVENTORY_ITEM_ID = MSIF.INVENTORY_ITEM_ID  
  AND MICV.ORGANIZATION_ID in (83) AND MSIF.ORGANIZATION_ID in (83)
  AND MICV.CATEGORY_SET_ID = '1100000002') msis2  
where  
  TO_CHAR(MMT.TRANSACTION_DATE, 'YYYYMMDD') between '&S_DATE' and '&T_DATE'
AND MMT.INVENTORY_ITEM_ID = MSIF.INVENTORY_ITEM_ID  
  AND MSIF.ORGANIZATION_ID in(83)  
AND MTT.TRANSACTION_TYPE_ID = MMT.TRANSACTION_TYPE_ID
and MSIF.SEGMENT1 like 'A%'
  and msis.INVENTORY_ITEM_ID(+) = MMT.INVENTORY_ITEM_ID
  and msis2.INVENTORY_ITEM_ID(+) = MMT.INVENTORY_ITEM_ID
  and MMT.TRANSACTION_TYPE_Id in('35','43')
  and MMT.SUBINVENTORY_CODE in('WHF200','WMF200')
  and substr(msis.model,1,1) in(9)
group by
  to_char(MMT.TRANSACTION_DATE,'yyyymmdd')   
  ,msis2.serial   
  ,msis.model   
  ,MMT.SUBINVENTORY_CODE   
  ,MMT.TRANSACTION_TYPE_Id   
查詢如果如下:
DATEA SERIAL MODEL SUBINV TYPE_ID QTY
數據.........




現在xiang改造這個sql語句,
shi查詢結果的表頭QTY   
當MMT.TRANSACTION_TYPE_Id=35時,QTY換成pre_com
查詢結果
DATEA SERIAL MODEL SUBINV TYPE_ID pre_com
數據.........   
   
當MMT.TRANSACTION_TYPE_Id=43時,QTY換成back_pre
查詢結果
DATEA SERIAL MODEL SUBINV TYPE_ID back_pre
數據.........   

請教一下各wei兄弟,SQL語句應該如he寫?????????????
欢迎lai到Java學习Zhe论坛,转载请注明地址:http://www.javaxxz.com.
回复

使用道具 举报

该用户从未签到

发表于 2011-11-2 08:12:47 | 显示全部楼层

Re:^查询结果表头如何动态显示???????

你这是要分 3 次查,还是一次查询?
分 3 次查询,你就写 3 个不同的 SQL 语句就完事了
每個 SQL 加一个 where 条件
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-2 08:12:58 | 显示全部楼层

Re:^查询结果表头如何动态显示???????

一次查询
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-2 08:13:10 | 显示全部楼层

Re:^查询结果表头如何动态显示???????

一次查询是实现不了的

比如,根据字段1的值,1 显示 字段1,2 显示字段2
如果表里数据有1,也有2
那最后表头你怎么显示?

字段?
1
2

如果你想显示成

字段1
1
字段2
2

这是 2 个查询
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-2 08:13:22 | 显示全部楼层

Re:^查询结果表头如何动态显示???????

表头是改變不了的,不过可以动态顯示查詢结果列的取值
SQL code select t.user_id,
       case
         when substr(t.user_id, -1) > 5 --自己写条件
          then
          t.user_name
         else
          t.SEX
       end dam
  from t_user t;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-22 03:19 , Processed in 0.431830 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表