sql子查询中列别名在主查询中无效

问题描述

sql子查询中列别名在主查询中无效

CREATE PROCEDURE dbo.query_test(
@i_begin_time varchar(128) IN, /* 开始时间 /
@i_end_time varchar(128) IN, /
结束时间 /
@i_bussiness_tpe varchar(512) IN, /
类型 )
as
declare @v_sql varchar(16384)/* 定义 需要执行的sql /
declare @Rtime varchar(128)/
定义 记录时间*/
declare @Atime varchar(128)/* 定义 受理时间 /
declare @Ttime varchar(128)/
定义 派单时间*/
declare @Wtime varchar(128)//定义日期格式,转化将00000000-》00-00-0000:00:00
set @Rtime = 'SUBSTRING(RECORD_TIME, 1, 10)'
set @Atime = 'SUBSTRING(ACCEPT_TIME, 1, 10)'
set @Ttime = 'SUBSTRING(TURN_TIME, 1, 10)'
set @Wtime=' substring(CREATE_TIME,1,4)+''-''+substring(CREATE_TIME,5,2)+''-''+substring(CREATE_TIME,7,2)+'' ''+substring(CREATE_TIME,9,2)+'':''+substring(CREATE_TIME,11,2)+'':''+substring(CREATE_TIME,13,2)'
select RECORD_TIME,count(*) index from (

select '||@Rtime||' RECORD_TIME , COUNT(*) index1 from (select '||@Wtime||'RECORD_TIME,* from GISINFO)
where RECORD_TIME >= '''|| @i_begin_time ||''' and RECORD_TIME < '''|| @i_end_time ||''' AND KF_ID in (select id from COMPNAMELIST)
GROUP BY '||@Rtime||'')base GROUP BY RECORD_TIME ORDER BY RECORD_TIME '
end ...
在执行存储过程的时候,报错invalid column RECORD_TIME ,子查询select '||@Wtime||'RECORD_TIME,* from GISINFO 中列别名RECORD_TIME 无效

时间: 2024-11-08 17:29:26

sql子查询中列别名在主查询中无效的相关文章

c语言数组与函数-如何在函数中给已经在主函数中定义好的数组赋值

问题描述 如何在函数中给已经在主函数中定义好的数组赋值 已经在main()中定义了一个长度为20的数组,想在定义的函数中给数组赋值,但一直报错,请问如何修改? void arrin(int *arr) { int i; arr[]={1,1,2,2,3,3,4,5,6,5,6,7,7,8,8,9,9,0,0}; for(i=0;i<20;i++) printf("%d",arr[i]); } main() { int testarr[20]; ............ } 解决方

oracle10g-在查询结果列中添加rownum列,查询出的条数增多

问题描述 在查询结果列中添加rownum列,查询出的条数增多 sql语句结构 select rownum as tempNum, ..... from (select ..... where.... order by AD.detailaddressstr, CUSTOMEREN.CUSTOMERADDRSTR) temp where (case when ... then ...else end); 如果查询结果列中有rownum,查询出的数据会比不添加rownum的结果列多出很多. Orac

在主函数中输入一个字符串str1,调用函数。

问题描述 在主函数中输入一个字符串str1,调用函数. 在主函数中输入一个字符串str1,调用函数chage(str1,N);将str1 中的小标为奇数的字符取出构成一个新的字符串放入字符串str2中.然后在主函数中输出字符串str2.运用到数组的引用. #include #define N 10 using namespace std; void chage(char str2[],int n); int main() { char str1[N]; for(int i=0;i cin>>s

关于SQL子查询中使用order by的问题

问题描述 最近回头看以前的数据库教材<数据库系统概论>人大 王珊 版的有一段叙述:"需要特别指出的是,子查询的select语句不能使用 order by子句,order by子句只能对最终查询结果排序"但是正好之前练习碰到个场景,就在子句中用了order by ,结果也是正确的.所以我很疑惑,是书上说错了还是什么原因下面是SQLselect userid from (select userid,min(createtime) from LT_BIZORDER t where

如何在SQL Server中由原子建立分子查询

每位SQL Server开发员都有自己的首选操作方法.我的方法叫做分子查询.这些是由原子查询组合起来的查询,通过它们我可以处理一个表格.将原子组合起来,可以建立分子.当然也会有限制(化学家所称的化合价),但一般来说,这个原理还是适用的. 在本文中,我将探讨这种策略的几种变化.我从最基本的内容开始(即最详细的内容),然后逐步深化.为让你了解这种方法的灵活性,我会在不同层次使用几种技巧.(警告:这并不是唯一的解决方法,我只是在讨论一些可行的选择.) 我从普遍使用的数据库Northwind开始(虽然为

跟我学SQL:(三)使用SQL子选择来合并查询

你是否曾经为了得到所需要的信息而反复查询?子选择,也被称为子查询,也许正是你在寻找的.SQL的这项功能使你可以在一组结果中查询,创造性地给结果组加以限定,或是在向数据库的单一调用中将结果与一个无关系的查询做相关.这篇文章中我将给出几个子选择的例子并就何时使用他们进行讨论. 在一个结果组中搜索  子选择的理念很简单:一个选择查询安置在另一个查询内部,创建一个在单一声明搜索中不可用的资源.子选择允许查询的合并,结果组比较的责任落到了数据库中而不是应用软件代码中. 使用这个功能的一个途径是对两个表格中

SQL子查询实例

  SQL子查询实例介绍: 子查询是在一个查询内的查询.子查询的结果被DBMS使用来决定包含这个子查询的高级查询的结果.在子查询的最简单的形式中,子查询呈现在另一条SQL语句的WHERE或HAVING子局内. 列出其销售目标超过各个销售人员定额综合的销售点. SELECT CITY FROM OFFICES WHERE TARGET > (SELECT SUM(QUOTA) FROM SALESREPS WHERE REP_OFFICES = OFFICE) SQL子查询一般作为WHERE子句或

mysql 数据库-关于mysql关联多列查询,分组查询并输出每组数据的中值

问题描述 关于mysql关联多列查询,分组查询并输出每组数据的中值 imei phone key value 863184021544828 lenovoa788t c14 484 355799050650579 samsungi9500 c14 542 355799050650579 samsungi9500 c14 623 868331013987821 huaweiu9508 c14 523 868331013987821 huaweiu9508 c14 498 8683310139878

SQL Server利用HashKey计算列解决宽字段查询的性能问题

SQL Server利用HashKey计算列解决宽字段查询的性能问题 主人翁        本文主人翁:MSSQL菜鸟和MSSQL老鸟. 问题提出        某年某月某日,某MSSQL菜鸟满脸愁容的跑到老鸟跟前,心灰意懒的对老鸟说"我最近遇到一个问题,很大的问题,对,非常大的问题".老鸟不急不慢的推了推2000度超级近视眼镜框,慢吞吞的说:"说来听听".        "我有一个100万数据量的表,有一个宽度为7500字段,不幸的是现在我需要根据这个字