请教SQL查询问题,高手请进,感谢!
select * from table_name
是查询出table_name 里所有的记录
select * from table_name where column_name like '%%'
是查询出table_name表里column_name 类似于'%%'的记录
由于%是代替所有,‘%%’代替所有,但并不表示代替空值,所以后一条记录和前一条的区别是,前一条是查询所有记录,后一条是查询column_name 值 不为空的所有记录。
'楼主把如下内容加在需要显示资料的位置,并变更你需要的表及字段名
<%
set rs=server.createobject("ADODB.Recordset")
sql="select * from 表"
rs.open sql,conn,3,3
n=1
%>
& n b s p; & n b s p;
<%
rs.movenext
n=n+1
if n>=6 then exit do
loop
%>
'备注>& n b s p;请连接写,否则资料与资料之间没有间隙.
SELECT type,typeid,code,name,(SELECT RTRIM((SELECT ' '+RTRIM(context)+' ' FROM 表名 WHERE typeid=W.typeid ORDER BY ID FOR XML PATH ('')))) context
FROM 表名 W
WHERE code='000'
select
type,
typeid,
code,
name,
(select wm_concat(context,' ') from table_name where type=t1.type and typeid=t1.typeid) context
from table_name t1 where code=000;
至于后面context的英文顺序是无法保证了,因为表中都没有一个排序来控制。
如果数据库支持XML的话, 可以利用XML将context组合成一个字符串,然后用replace替换掉xml标记。以SQL Server 2005或以上版本为例:
-- 定义示例表变量,并插入示例数据
declare @tb table (id int, type nvarchar(10), typeid nvarchar(10), code nvarchar(30), name nvarchar(30), context nvarchar(30))
insert into @tb
select 1, 'A', 'A_1', '999', 'a', 'Hello'
union select 3, 'A', 'A_1', '999', 'b', '!'
union select 2, 'A', 'A_1', '000', '名称A', 'World'
-- 执行查询, 主要在replace中查询到相同的type, typeid的context值,并用for xml组合成一个字符串,然后用3个replace来替换掉xml标记,得到需要的context内容
select s.type, s.typeid, s.code, s.name, replace(replace(replace((select v.context as T1 from @tb v where v.type = s.type and v.typeid = s.typeid order by v.id for xml path('')), '</T1><T1>', ''), '<T1>', ''), '</T1>', '') as context
from @tb s
执行结果如下图,
如果数据库比较旧,不支持XML, 那么可以自己建一个函数来实现context内容的合并。
select 类别(type) , 类别ID(typeid) , 返回码(code) , 名称(name), 文本(context)
from table where 类别ID(typeid)=000
sql查询问题
1)查询所有选 “SQL” 课程的学生学号,姓名和专业。SELECT 学号,姓名,专业 FROM 学生基本信息表 S WHERE 学号 IN (SELECT SC.学号 FROM 选课表 SC, 课程表 C WHERE SC.课程号 = C.课程号 AND C.课程名 = 'SQL')2) 删除所有选择“数学”的同学的选课记录。DELETE FROM 选课表 WHERE 学号...
SQL语句查询解决实际问题?
问题1:我觉得问题1问的有问题 如果你是想求表1中有而表2中没有的5号孔八,是下面这条:select * from 表1 where num=(select num from 表1 minus select num from 表2);如果你是想求表2中有而表1中没有的4号,是下面这条:select * from 表2 where num=(select num from表2 minus s...
sql中的查询问题
可以用datepart函数,使用方法:定义和用法 DATEPART() 函数用于返回日期\/时间的单独部分,比如年、月、日、小时、分钟等等。语法 DATEPART(datepart,date)date 参数是合法的日期表达式。datepart 参数可以是下列的值:datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy, y 日 dd, d ...
下面这个sql问题,求大佬帮忙解答一下
p1q2 第二题 图二问题一: 关键点在于关联查询,排序取rownum和分组序号获取 p2q1 p2q1res 图二问题二: 分组,最大最小值关联查询,自表关联比较 p2q2 p2q2res sql是在oracle的语句,如果是mysql可以用replace into替换merge,其余的可以再自己调试看看。
两个sql 查询语句问题,请大牛帮解,非常感谢!
第一题:select first_name,lastname from players where player_id in(select player_id from player_season_totals group by player_id having count(distinct team_id)>9 );第二题:select first_name,lastname from players where player_id in(select distinct(player_id) from player_season...
SQL的题目,最基础的~等~~
说明:使用SQL SELECT可以将查询结果排序,排序的短语是order by ,具体格式如下:order by order_item [ASC|DESC] [,order_item [ASC|DESC]……]15. 先按仓库号排序,再按工资排序并输出全部职工信息。答:Select * from 职工表 order by 仓库号,工资 16. 找出供应商所在地的数目。答:select ...
Excel数据源的多表合并和SQL查询图解教程
在命令文本区域输入新的SQL查询语句,点击确定,再刷新数据区域即可。SQL查询语句是整个操作的核心。这里不谈具体SQL语句怎么写,而是介绍下如何引用各种数据表。有以下几种方法:通过名称引用。比如如果定义一个数据区域为Industry,那么select * from industry这样是可行的。这种方法最多支持65535行数据,当...
SQL数据库查询语句问题
from users inner join duty on users.u_id=duty.u_id 2.查询当前所有存在用户的考勤情况--不管是否有考勤记录,都要把用户的情况列出来,用左连接,此时会列出所有用户,而不存在考勤记录的用户显示为空。select from users left join duty on users.u_id=duty.u_id 3.查询所有存在的考勤记录,...
菜鸟请教sql问题
一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出...
SQl查询的简单问题,
select 货品名称,库存量,供应商 from goods where 货品名称 in('pen','book','desk')--3.select 货品名称 as 货品的名称,库存量 as 货品的库存量,价格 as 货品的单价 from goods where 库存量 between 1000 and 2000 --4 select 货品名称,价格,价格*0.9 as 9折后的价格 from goods order...
才新怡邦: 1,select username, powername from tbuser u,tbuserrole ur,tbrole r where u.id=ur.user_id and ur.role_id=r.id 用到三张表2,select username, powername from tbuser u,tbuserrole ur,tbrolepower rp,tbpower p where u.id=ur.user_id and ur.role_id=rp.role...
梅列区18291268803: 求一条多表查询的sql语句,高手请进 - ?
才新怡邦: select 表1.*,表2.time1,表2.time2,表3.test from 表1,表2,表3 where 表1.cd=表2.id and 表1.cd=表3.id and (表1.time between('2008-4-1','yyyy-mm-dd') and ('2008-4-30','yyyy-mm-dd'))
梅列区18291268803: 高手请进,求助SQL查询语句 - ?
才新怡邦: 我用个是oracle的语法,字符串链接用||,要是别的数据库,你修改下就可以 WITH...
梅列区18291268803: SQL查询问题请教. - ?
才新怡邦: SELECT NAME,COUNT(DISTINCT RESULT) AS TOTAL FROM RESULT WHERE (RESULT IN(3, 4, 5, 1, 7) or RESULT IN(3, 4, 5, 1, 8) or RESULT IN(3, 4, 5, 2, 7) or RESULT IN(3, 4, 5, 2, 8)) GROUP BY NAME;
梅列区18291268803: 请教sql查询问题 - ?
才新怡邦: select [日期],count([人员]) as num from table where datediff(day,[日期],getdate())group by [日期] having count([人员])>2
梅列区18291268803: sql查找数据请教高手 - ?
才新怡邦: select * from view3 where per_id in (select max(per_id) from view3 as a ,关键字$ as b where a.comp_nme like ''%'+b.公司名+'%'' )
梅列区18291268803: sql联合查询问题,高手请进 - ?
才新怡邦: 1,4合并 select name_sz, count(*) as num from 工作日 group by name_sz union select name_sz, count(*) as num from 节假日 group by name_sz; 2,5 3,6类推 注意union合并的时候两个结果集的列数一定要一样,要不union不了
梅列区18291268803: 关于sql查询语句问题,请教高手 如题, - ?
才新怡邦: SELECT TOP 1 [name], [sex] FROM [Table] ORDER BY [age] DESC
梅列区18291268803: 如何写下述的SQL查询语句?非常感谢! - ?
才新怡邦: 这要运用sql的联结查询,使用select 字段名 from 表名 where 条件 (select 字段名(注意:此字段要和前面的字段一样)from 表名(另一个表)where 条件)
梅列区18291268803: 请教一个sql查询问题 - ?
才新怡邦: SELECT A.name,C.name,B.name FROM cate AJOIN goods BON A.id = B.cateidJOIN cate CON A.id = C.headid