直接上题目求解释这个sql语句

问题描述

直接上题目求解释这个sql语句
            sql = "select m.id, m.mobile, m.destid, m.content from cs_user u, CS_MO_SMGP m where u.extend = substr(m.destid, 9,4) and u.id = " +
                    userid + " and m.ifflag=0 and rownum<=20"

解决方案

这还要解释呀,几个关键的信息解释如下:
substr :http://www.cnblogs.com/nicholas_f/articles/1526063.html
rownum:http://www.blogjava.net/freeman1984/archive/2011/01/20/343253.html
where:http://www.w3school.com.cn/sql/sql_where.asp

解决方案二:

查询表CS_MO_SMGP中的 id,mobile,destid,content
条件是
1.cs_user表中的extend =要等于某个值,这个值是CS_MO_SMGP表中的destid从第9个位置开始,取4个后的值
2.cs_user表中的要等于你传入的参数userId
3.ifflag=0 CS_MO_SMGP表中一个状态
4. rownum<=20取前20行记录

时间: 2024-08-25 03:18:34

直接上题目求解释这个sql语句的相关文章

update-Update 数据表时自动求如何写SQL语句呢(使用SQL Sever)?(设计触发器或存储过程吧)

问题描述 Update 数据表时自动求如何写SQL语句呢(使用SQL Sever)?(设计触发器或存储过程吧) 我有一个学生考试信息表: 考号,姓名,语文成绩,数学成绩,英语成绩,文综成绩,总成绩 (PS:默认各科成绩,总成绩都为 0)在老师登分时只会登入各个科目的成绩,我使用的是SQL Sever数据库,当老师登入各科成绩时(使用Update),如何触发自动求和?_谢谢!_ 解决方案 create trigger trig_学生考试信息表 on 学生考试信息表 for insert as be

求一条sql语句,单表查询的

问题描述 求一条sql语句,单表查询的 表结构 (姓名,课程,成绩) 现在求获的该表总成绩最高学员的名字 解决方案 mysql 数据库select sum(成绩) as t from table group by 姓名 order by t limit 0,1 oracle数据库 select * from (select sum(成绩) as t from table group by 姓名 order by t) WHERE ROWNUM<=1 sqlserver数据库 select top

数据-求教一条SQL语句实现功能的问题

问题描述 求教一条SQL语句实现功能的问题 (第一遍问的有写不对) SQL语句是否可以实现这样的功能: (设有表A.B,A中有数据f1和f2) select f1 from A where f2='aa'; 当f1=1时,执行SELECT 语句1 当f1=2时,执行select语句2 这样的话如何实现? 解决方案 select * from 表A where exists(select 1 from 表C WHERE 表C.字段=1) union select * from 表B where e

数据库-新人求问关于sql语句的问题

问题描述 新人求问关于sql语句的问题 alter table 数据类型 add constraint check6 check (范围>'0' and 范围<'100') 执行的时候提示错误说:"消息 547,级别 16,状态 0,第 1 行 ALTER TABLE 语句与 CHECK 约束"check6"冲突.该冲突发生于数据库"数据",表"dbo.数据类型", column '范围'. 解决方案 关于sql 语句的求孤

求一条SQL语句,高手救救(对不起,最近问得多,分数不足了!)

问题描述 我想要做的是多张打印的功能比如:2张表如下表一IDNAME001订购单002采购单003申请单004请购单表二piditemdes0011订购电脑0012订购手机0013订购书0021采购某某0022采购鞋0023采购用品003...........004......一对多的关系现在我的dataGridView里面放的是第一张表的数据,现在我要根据我选中的单(可以多选!)打印它的子项,就是选中001就打印表二的所有001打印成一张A4纸,如果选择一个打印就简单,如果多选的话,要怎么分呢

求大侠写SQL语句 在线等

问题描述 查询工资表kk的全部信息,要求前三列按工资income降序排列,后面的数据按原来的顺序排列求sql语句 解决方案 解决方案二:有意义吗?这样每一行的数据不是打乱了?解决方案三:引用1楼crazylaa的回复: 有意义吗?这样每一行的数据不是打乱了? 中国式报表,什么样的需求都有,呵呵~~解决方案四:只提供oralce的,其他数据库差不多:select*from(select*fromkkwhererownum<=3orderbyincomeunionselect*fromkkwhere

求正则替换sql语句为select count(*) from

问题描述 求替换SQL的办法selectt0.*(selectcount(*)fromnewswherecreatorid=t0.userid)pCountfromusert0leftjoin(select*fromxxxxx)t1ont0.userid=t1.idwheret0.xx=xx需要查询出该SQL的count有多少个以前我是在这句sql外面包了句selectcount(*)from(上面那句sql)但是发现MYSQL在大数据量下的嵌套查询的速度简直是无法忍受那么我就想试着用正则表达式

求一句sql语句

问题描述 从指定记录开始 往下取10条记录 使用的是access数据库 ,谢谢 解决方案 引用select top 10 from table_name where id not in (select top 10 id from table_name)前面的top10是指提取10条记录.后面的top10是指从第10行开始.id一定要是主键或者有着唯一索引的列.由于电脑上没有SQLServer和Access,所以无法判断语句是否正确,楼主自己测试一下吧.解决方案二:楼上的,如果人家是uuid呢?

求一条SQL语句

问题描述 表A(id,name)1 tom2 jim3 zz21 tt41 ss表B(id,relation)1 1,32 2,41表B中的relation存的是A表中的id值的组合,A,B表中id均为int型的主键期望获得表A的结果为:id name21 tt即期望获得在A表中存在而在B表中的relation列中不存在的记录 问题补充:mavlarn 写道 解决方案 谢谢楼上指正,呵呵,当时没考虑太多,其实思路是一样的,改一下:SELECT A.* FROM AWHERE NOT EXISTS