有给一张表增加字段,有如下字段(一百多个),现需要列出所有包含“dt”的字段的具体内容,用SQL语句,如何实现?

sql中删除冗余数据和一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在对列出所有组合等sql面试题
SQL SERVER面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名
A: select distinct name from table where name not in (select distinct name from table where fenshu&=80)
2.学生表 如下:
姓名 课程编号 课程名称 分数
2005001 张三 0001
2005002 李四 0001
2005001 张三 0001
删除除了自动编号不同,其他都相同的学生冗余信息
A: delete tablename where 自动编号 not in(select min(自动编号) from tablename group by 学号,姓名,课程编号,课程名称,分数)
一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?
答:select a.name, b.name
from team a, team b
where a.name & b.name
请用SQL语句实现:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目。请注意:TestDB中有很多科目,都有1-12月份的发生额。
AccID:科目代码,Occmonth:发生额月份,DebitOccur:发生额。
数据库名:JcyAudit,数据集:Select * from TestDB
答:select a.*
from TestDB a
,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID='101' group by Occmonth) b
where a.Occmonth=b.Occmonth and a.DebitOccur&b.Debit101ccur
************************************************************************************
面试题:怎么把这样一个表儿
year month amount
查成这样一个结果
year m1 m2 m3 m4
1.2 1.3 1.4
2.2 2.3 2.4
select year,
(select amount from aaa m where month=1 and m.year=aaa.year) as m1,
(select amount from aaa m where month=2 and m.year=aaa.year) as m2,
(select amount from aaa m where month=3 and m.year=aaa.year) as m3,
(select amount from aaa m where month=4 and m.year=aaa.year) as m4
from aaa group by year
这个是ORACLE 中做的:
select * from (select name, year b1, lead(year) over
(partition by name order by year) b2, lead(m,2) over(partition by name order by year) b3,rank()over(
partition by name order by year) rk from t) where rk=1;
************************************************************************************
精妙的SQL语句!
精妙SQL语句
作者:不详 发文时间: 10:55:05
说明:复制表(只复制结构,源表名:a 新表名:b)
SQL: select * into b from a where 1&&1
说明:拷贝表(拷贝数据,源表名:a 目标表名:b)
SQL: insert into b(a, b, c) select d,e,
说明:显示文章、提交人和最后回复时间
SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
说明:外连接查询(表名1:a 表名2:b)
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())&5
说明:两张关联表,删除主表中已经在副表中没有的信息
delete from info where not exists ( select * from infobz where info.infid=infobz.infid )
SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE
FROM TABLE1,
(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE
FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,
(SELECT NUM, UPD_DATE, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') =
TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') ?? '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y,
WHERE X.NUM = Y.NUM (+)
AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) && X.STOCK_ONHAND ) B
WHERE A.NUM = B.NUM
select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,高考总成绩
从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)
SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) AS FRI,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) AS MAR,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) AS APR,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) AS MAY,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) AS JUL,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) AS AGU,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) AS OCT,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) AS NOV,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) AS DEC
FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration
FROM TELFEESTAND a, TELFEE b
WHERE a.tel = b.telfax) a
GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy')
说明:四表联查问题:
SQL: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
说明:得到表中最小的未使用的ID号
SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1) THEN MIN(HandleID) + 1 ELSE 1 END) as HandleID
FROM Handle
WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)
*******************************************************************************
有两个表A和B,均有key和value两个字段,如果B的key在A中也有,就把B的value换为A中对应的value
这道题的SQL语句怎么写?
b.value=(select
a.key=b.key)
b.key=a.key);
***************************************************************************
高级sql面试题
courseid coursename score
-------------------------------------
2 oracle 90
5 servlet 80
-------------------------------------
为了便于阅读,查询此表后的结果显式如下(及格分数为60):
courseid coursename score mark
---------------------------------------------------
1 java 70 pass
2 oracle 90 pass
3 xml 40 fail
4 jsp 30 fail
5 servlet 80 pass
---------------------------------------------------
写出此查询语句
没有装ORACLE,没试过
select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as mark from course
SQL& desc course_v
Name Null? Type
----------------------------------------- -------- ----------------------------
COURSEID NUMBER
COURSENAME VARCHAR2(10)
SCORE NUMBER
SQL& select * from course_v;
COURSEID COURSENAME SCORE
---------- ---------- ----------
2 oracle 90
5 servlet 80
SQL& select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as mark from course_v;
COURSEID COURSENAME SCORE MARK
---------- ---------- ---------- ----
1 java 70 pass
2 oracle 90 pass
3 xml 40 fail
4 jsp 30 fail
5 servlet 80 pass
*******************************************************************************
id proid proname
查询后的表:
id pro1 pro2
写出查询语句
用select能选成以下结果吗?
使用pl/sql代码实现,但要求你组合后的长度不能超出oracle varchar2长度的限制。
下面是一个例子
create or replace type strings_table is table of varchar2(20);
create or replace function merge (pv in strings_table) return varchar2
ls varchar2(4000);
for i in 1..pv.count loop
ls := ls || pv(i);
create table t (id number,name varchar2(10));
insert into t values(1,'Joan');
insert into t values(1,'Jack');
insert into t values(1,'Tom');
insert into t values(2,'Rose');
insert into t values(2,'Jenny');
column names format a80;
select t0.id,merge(cast(multiset(select name from t where t.id = t0.id) as strings_table)) names
from (select distinct id from t) t0;
drop type strings_
Well if you have a thoretical maximum, which I would assume you would given the legibility of listing hundreds of employees in the way you describe then yes. But the SQL needs to use the LAG function for each employee, hence a hundred emps a hundred LAGs, so kind of bulky.
This example uses a max of 6, and would need more cut n pasting to do more than that.
SQL& select deptno, dname, emps
3 select d.deptno, d.dname, rtrim(e.ename ||', '||
4 lead(e.ename,1) over (partition by d.deptno
5 order by e.ename) ||', '||
6 lead(e.ename,2) over (partition by d.deptno
7 order by e.ename) ||', '||
8 lead(e.ename,3) over (partition by d.deptno
9 order by e.ename) ||', '||
10 lead(e.ename,4) over (partition by d.deptno
11 order by e.ename) ||', '||
12 lead(e.ename,5) over (partition by d.deptno
13 order by e.ename),', ') emps,
14 row_number () over (partition by d.deptno
15 order by e.ename) x
16 from emp e, dept d
17 where d.deptno = e.deptno
19 where x = 1
DEPTNO DNAME EMPS
------- ----------- ------------------------------------------
10 ACCOUNTING CLARK, KING, MILLER
20 RESEARCH ADAMS, FORD, JONES, ROONEY, SCOTT, SMITH
30 SALES ALLEN, BLAKE, JAMES, MARTIN, TURNER, WARD
先create function get_a2;
create or replace function get_a2( tmp_a1 number)
return varchar2
Col_a2 varchar2(4000);
Col_a2:='';
for cur in (select a2 from unite_a where a1=tmp_a1)
Col_a2=Col_a2||cur.a2;
return Col_a2;
end get_a2;
select distinct a1 ,get_a2(a1) from unite_a
*******************************************************************************
一个SQL 面试题
去年应聘一个职位未果,其间被考了一个看似简单的题,但我没有找到好的大案.
不知各位大虾有无好的解法?
有两个表, t1, t2,
SELLER | NON_SELLER
----- -----
SELLER | COUPON | BAL
----- --------- ---------
要求用SELECT 语句列出如下结果:------如A的SUM(BAL)为B,C,D的和,B的SUM(BAL)为A,C,D的和.......
且用的方法不要增加数据库负担,如用临时表等.
NON-SELLER| COUPON | SUM(BAL) ------- --------
关于论坛上那个SQL微软面试题
一百个账户各有100$,某个账户某天如有支出则添加一条新记录,记录其余额。一百天后,请输出每天所有账户的余额信息
这个问题的难点在于每个用户在某天可能有多条纪录,也可能一条纪录也没有(不包括第一天)
返回的记录集是一个100天*100个用户的纪录集
下面是我的思路:
1.创建表并插入测试数据:我们要求username从1-100
CREATE TABLE [dbo].[TABLE2] (
[username] [varchar] (50) NOT NULL , --用户名
[outdate] [datetime] NOT NULL , --日期
[cash] [float] NOT NULL --余额
) ON [PRIMARY
declare @i int
while @i&=100
insert table2 values(convert(varchar(50),@i),'',100)
insert table2 values(convert(varchar(50),@i),'',50)
set @i=@i+1
insert table2 values(convert(varchar(50),@i),'',90)
select * from table2 order by outdate,convert(int,username)
2.组合查询语句:
a.我们必须返回一个从第一天开始到100天的纪录集:
如:(这个日期是任意的)到
由于第一天是任意一天,所以我们需要下面的SQL语句:
select top 100 dateadd(d,convert(int,username)-1,min(outdate)) as outdate
from table2
group by username
order by convert(int,username)
这里的奥妙在于:
convert(int,username)-1(记得我们指定用户名从1-100 :-))
group by username,min(outdate):第一天就可能每个用户有多个纪录。
返回的结果:
------------------------------------------------------
00:00:00.000
00:00:00.000
b.返回一个所有用户名的纪录集:
select distinct username from table2
返回结果:
--------------------------------------------------
c.返回一个100天记录集和100个用户记录集的笛卡尔集合:
select * from
select top 100 dateadd(d,convert(int,username)-1,min(outdate)) as outdate
from table2
group by username
order by convert(int,username)
CROSS join
select distinct username from table2
order by outdate,convert(int,username)
返回结果100*100条纪录:
00:00:00.000
00:00:00.000
d.返回当前所有用户在数据库的有的纪录:
select outdate,username,min(cash) as cash from table2
group by outdate,username
order by outdate,convert(int,username)
返回纪录:
00:00:00.000
00:00:00.000
e.将c中返回的笛卡尔集和d中返回的纪录做left join:
select C.outdate,C.username,
select * from
select top 100 dateadd(d,convert(int,username)-1,min(outdate)) as outdate
from table2
group by username
order by convert(int,username)
CROSS join
select distinct username from table2
select outdate,username,min(cash) as cash from table2
group by outdate,username
on(C.username=D.username and datediff(d,C.outdate,D.outdate)=0)
order by C.outdate,convert(int,C.username)
注意:用户在当天如果没有纪录,cash字段返回NULL,否则cash返回每个用户当天的余额
00:00:00.000
00:00:00.000
00:00:00.000
00:00:00.000
NULL &--注意这里
00:00:00.000
f.好了,现在我们最后要做的就是,如果cash为NULL,我们要返回小于当前纪录日期的第一个用户余额(由于我们使用order by cash,所以返回top 1纪录即可,使用min应该也可以),这个余额即为当前的余额:
case isnull(D.cash,0)
when 0 then
select top 1 cash from table2 where table2.username=C.username
and datediff(d,C.outdate,table2.outdate)&0
order by table2.cash
else D.cash
end as cash
g.最后组合的完整语句就是
select C.outdate,C.username,
case isnull(D.cash,0)
when 0 then
select top 1 cash from table2 where table2.username=C.username
and datediff(d,C.outdate,table2.outdate)&0
order by table2.cash
else D.cash
end as cash
select * from
select top 100 dateadd(d,convert(int,username)-1,min(outdate)) as outdate
from table2
group by username
order by convert(int,username)
CROSS join
select distinct username from table2
select outdate,username,min(cash) as cash from table2
group by outdate,username
on(C.username=D.username and datediff(d,C.outdate,D.outdate)=0)
order by C.outdate,convert(int,C.username)
返回结果:
00:00:00.000
00:00:00.000
00:00:00.000
***********************************************************************************
取出sql表中第31到40的记录(以自动增长ID为主键)
*从数据表中取出第n条到第m条的记录*/
declare @m int
declare @n int
declare @sql varchar(800)
set @sql='select top '+str(@m-@n+1) + '* from idetail where autoid not in(
select top '+ str(@n-1) + 'autoid from idetail)'
exec(@sql)
select top 10 * from t where id not in (select top 30 id from t order by id ) orde by id
--------------------------------------------------------------------------------
select top 10 * from t where id in (select top 40 id from t order by id) order by id desc
*******************************************************************************
一道面试题,写sql语句
有表a存储二叉树的节点,要用一条sql语句查出所有节点及节点所在的层.
c1 c2 A ----------1
---- ---- / \
A B B C --------2
B D D N E ------3
D F F K I ---4
所要得到的结果如下
----- ----
有高手指导一下,我只能用pl/sql写出来,请教用一条sql语句的写法
SQL& select c2, level + 1 lv
2 from test start
3 with c1 = 'A'
4 connect by c1 = prior c2
6 select 'A', 1 from dual
-- ----------
已选择9行。
以上转自"http://blog.csdn.net/wenboliang/archive//4095859.aspx
---------------------------------------------------------------
1.一道SQL语句面试题,关于group by
如果要生成下列结果, 该如何写sql语句?
------------------------------------------
create table #tmp(rq varchar(10),shengfu nchar(1))
insert into #tmp values('','胜')
insert into #tmp values('','胜')
insert into #tmp values('','负')
insert into #tmp values('','负')
insert into #tmp values('','胜')
insert into #tmp values('','负')
insert into #tmp values('','负')
1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from #tmp group by rq
2) select N.rq,N.勝,M.負 from (
select rq,勝=count(*) from #tmp where shengfu='胜'group by rq)N inner join
(select rq,負=count(*) from #tmp where shengfu='负'group by rq)M on N.rq=M.rq
3)select a.col001,a.a1 胜,b.b1 负 from
(select col001,count(col001) a1 from temp1 where col002='胜' group by col001) a,
(select col001,count(col001) b1 from temp1 where col002='负' group by col001) b
where a.col001=b.col001
2.请教一个面试中遇到的SQL语句的查询问题
表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
------------------------------------------
select (case when a&b then a else b end ),
(case when b&c then b esle c end)
from table_name
3.面试题:一个日期判断的sql语句?
请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0
4.有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
显示格式:
------------------------------------------
(case when 语文&=80 then '优秀'
when 语文&=60 then '及格'
else '不及格') as 语文,
(case when 数学&=80 then '优秀'
when 数学&=60 then '及格'
else '不及格') as 数学,
(case when 英语&=80 then '优秀'
when 英语&=60 then '及格'
else '不及格') as 英语,
from table
5.在sqlserver2000中请用sql创建一张用户临时表和系统临时表,里面包含两个字段ID和IDValues,类型都是int型,并解释下两者的区别?
------------------------------------------
用户临时表:create table #xx(ID int, IDValues int)
系统临时表:create table ##xx(ID int, IDValues int)
用户临时表只对创建这个表的用户的Session可见,对其他进程是不可见的.
当创建它的进程消失时这个临时表就自动删除.
全局临时表对整个SQL Server实例都可见,但是所有访问它的Session都消失的时候,它也自动删除.
6.sqlserver2000是一种大型数据库,他的存储容量只受存储介质的限制,请问它是通过什么方式实现这种无限容量机制的。
------------------------------------------
它的所有数据都存储在数据文件中(*.dbf),所以只要文件够大,SQL
Server的存储容量是可以扩大的.
SQL Server 2000 数据库有三种类型的文件:
主要数据文件
主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。
次要数据文件
次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。
7.请用一个sql语句得出结果
从table1,table2中取出如table3所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。
如使用存储过程也可以。
月份mon 部门dep 业绩yj
-------------------------------
部门名称dname
--------------------------------
国内业务一部
国内业务二部
国内业务三部
国际业务部
table3 (result)
部门dep 一月份
--------------------------------------
------------------------------------------
select a.部门名称dname,b.业绩yj as '一月份',c.业绩yj as '二月份',d.业绩yj as '三月份'
from table1 a,table2 b,table2 c,table2 d
where a.部门dep = b.部门dep and b.月份mon = '一月份' and
a.部门dep = c.部门dep and c.月份mon = '二月份' and
a.部门dep = d.部门dep and d.月份mon = '三月份' and
select a.dep,
sum(case when b.mon=1 then b.yj else 0 end) as '一月份',
sum(case when b.mon=2 then b.yj else 0 end) as '二月份',
sum(case when b.mon=3 then b.yj else 0 end) as '三月份',
sum(case when b.mon=4 then b.yj else 0 end) as '四月份',
sum(case when b.mon=5 then b.yj else 0 end) as '五月份',
sum(case when b.mon=6 then b.yj else 0 end) as '六月份',
sum(case when b.mon=7 then b.yj else 0 end) as '七月份',
sum(case when b.mon=8 then b.yj else 0 end) as '八月份',
sum(case when b.mon=9 then b.yj else 0 end) as '九月份',
sum(case when b.mon=10 then b.yj else 0 end) as '十月份',
sum(case when b.mon=11 then b.yj else 0 end) as '十一月份',
sum(case when b.mon=12 then b.yj else 0 end) as '十二月份',
from table2 a left join table1 b on a.dep=b.dep
8.华为一道面试题
一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数。
------------------------------------------
select id, Count(*) from tb group
没有更多推荐了,dedecms模板标签代码参考
&◆织梦内容管理系统模板标签代码参考
  这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist
这些标记都是由这个标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定的文档列表
适用范围:封面模板、列表模板、文档模板
基本语法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底层模板(InnerText)
{/dede:arclist}
属性说明:
[1] typeid='' 表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用&,&分开表示多个栏目;
[2] row='' 表示返回文档列表总数;
[3] col='' 表示分多少列显示(默认为单列);
[4] titlelen='' 表示标题长度;
[5] infolen='' 表示内容简介长度;
[6] imgwidth='' 表示缩略图宽度;
[7] imgheight='' 表示缩略图高度;
[8] type='' 表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档
§ type='commend'时,表示推荐文档,等同于 {dede:coolart}{/dede:coolart}
§ type='image'时,表示必须含有缩略图片的文档,等同于{dede:imglist}{/dede:imglist}、{dede:imginfolist}{/dede:imginfolist}
§ type='spec'时,表示专题,等同于标记{dede:specart}{/dede:specart}
以上属性值可以联合使用,如: type='commend image' 表示推荐的图片文档
[9] orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='pubdate' 按出版时间排列(即是前台允许更改的时间值)
§ orderby='sortrank' 按文章的新排序级别排序(如果你想使用置顶文章则使用这个属性)
§ orderby='id' 按文章ID排序
§ orderby='postnum' 按文章评论次数排序
§ orderby='rand' 随机获得指定条件的文档列表
[10] orderway='' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序。
[11] keyword='' 表示含有指定关键字的文档列表,多个关键字用&,&分开
[12] channelid='' 表示特定的频道模型ID,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)
[13] limit='起始,结束' 表示限定的记录范围,row属性必须等于&结束 - 起始&,mysql的limit语句是由0起始的,如
“limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录,使用了本属性后,row属性将无效。
[14] att='数值' 表示自定义属性值
[15] subday='天数' 表示在多少天以内的文档,通常用于获取指定天数的热门文档、推荐文档、热门评论文档等
[16] partsort='排列位数' 表示自动获得父栏目的所有子数中排列在第几位的栏目ID,标记为
{dede:autolist}{/dede:autolist} 时,使用本属性才有效。
底层模板字段:
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的&&格式),
textlink,typelink,imglink,image
textlink = &a href='arcurl'&title&/a&
typelink = &a href='typeurl'&typename&/a&
imglink = &a href='arcurl'&&img src='picname' border='0' width='imgwidth'
height='imgheight'&&/a&
image = &img src='picname' border='0' width='imgwidth' height='imgheight'&
字段调用方法:[field:varname/]
{dede:arclist infolen='100'}
[field:textlink/]
[field:info/]
{/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)&$oneday) @me = &&font color='red'&(new)&/font&&;
else @me = &&;
[/field:senddate]
功能说明:用于获取特定栏目或档桉的字段值及常用的环境变量值
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:field name='字段名'/}
(2) 系统分配的field
板块模板:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl
列表模板:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,栏目表dede_arctype的所有字段
其中 position 为 “栏目一 & 栏目二” 这样形式的链接,title则为这种形式的标题
文档模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id(同
(3) 文档所有内容字段
档案dede_archives表 和 附加表的所有字段。
功能说明:用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun/son,self
type='top' 表示顶级栏目
type='son' 或 'sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
{dede:channel type='top'}
&a href='[field:typelink /]'&[field:typename/]&/a&
{/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类
标记】别名 onetype
功能说明:表示指定的单个栏目的链接
适用范围:封面模板、列表模板、文档模板
(1)语法 {dede:type typeid=''}{/dede:type}
(2)属性 typeid='栏目ID'
(3)底层模板变量
typename,typelink(仅表示栏目的网址)
【Autochannel
功能说明:表示指定排序位置的单个栏目的链接
适用范围:封面模板、列表模板、文档模板
(1)语法 {dede:autochannel partsort=''}{/dede:autochannel}
(2)属性 partsort='栏目所在的排序位置'
(3)底层模板变量
typename,typelink(仅表示栏目的网址)
功能说明:用于获取自定义宏标记的内容
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:mytag typeid='' name='' ismake=''/}
[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目
-& 通用标记(typeid=0)的同名标记”。
[2] name = '' 标记名称。
[3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
功能说明:用于获取一组投票表单
适用范围:封面模板
(1) 基本语法
{dede:vote id='投票ID' lineheight='22'
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
注:本标记直接生成投票的HTML表单,为了让你更方便修改其样式,建议在后台-&投票管理的地方直接复制生成的HTML代码来使用。
标记】,等同 friendlink
功能说明:用于获取友情链接
适用范围:封面模板
(1)基本语法
{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}
[1]type:链接类型,值:
a. textall 全部用文字显示
b. textimage 文字和图得混合排列
c. text 仅显示不带Logo的链接
d. image 仅显示带Logo的链接
-------------------------------------
[2]row:显示多少行,默认为4行
[3]col:显示多少列,默认为6列
[4]titlelen:站点文字的长度
[5]tablestyle: 表示 &table 这里的内容&
功能说明:用于获取站内新闻
适用范围:封面模板
(1) 基本语法
{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}
[1] row 新闻条数
[2] titlelen 标题长度
(3)底层模板变量
[field:title/]、[field:writer/]、
[field:senddate function=&strftime('%y-%m-%d %H:%M',@me)&/](时间)、[field:body/]
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
适用范围:所有模板
(1) 基本语法
{dede:loop table=' sort='' row='' if=''}
{/dede:loop}
[1] table 表示查询的数据表
[2] sort 用于排序的字段
[3] row 返回结果的条数
[4] if 查询条件
(3)底层模板变量
这个标记的底层模板变量即是被查询表的所有字段
例:获取Phpwind论坛的最新主题贴子
{dede:loop table='pw_threads' sort='tid' row='8' if=''}
{/dede:loop}
【Channelartlist
功能说明:用于获取当前频道的下级栏目的内容列表
适用范围:封面模板
(1)基本语法
{dede:channelArtlist typeid=0 col=2 tablewidth='100%'}
&table width=&99%& border=&0& cellpadding=&3&
cellspacing=&1& bgcolor=&#BFCFA9&&
&td bgcolor=&#E6F2CC&&
{dede:type}
&table border=&0& cellpadding=&0& cellspacing=&0&
width=&98%&&
&td width='10%' align=&center&&&img src='[field:global
name='cfg_plus_dir'/]/img/channellist.gif' width='14' height='16'&&/td&
&td width='60%'&
&a href=&[field:typelink /]&&[field:typename /]&/a&
&td width='30%' align='right'&
&a href=&[field:typelink /]&&更多...&/a&
{/dede:type}
&td height=&150& valign=&top& bgcolor=&#FFFFFF&&
{dede:arclist row=&8&}
?&a href=&[field:arcurl /]&&[field:title /]&/a&&br&
{/dede:arclist}
&div style='font-size:2px'&&&/div&
{/dede:channelArtlist}
除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
两个标记。
[1]typeid=0 频道ID,默认的情况下,嵌套的标记使用的是这个栏目ID的下级栏目,如果你想用特定的栏目,可以用&,&分开多个ID。
[2]col=2 分多列显示
[3]tablewidth='100%' 外围表格的大小
功能说明:表示列表模板里的分页内容列表
适用范围:仅列表模板 list_*.htm
(1)基本语法
{dede:list col='' titlelen=''
infolen='' imgwidth='' imgheight='' orderby='' pagesize=''}{/dede:list}
[1]col 内容列数
[2]titlelen 标题长度
[3]infolen 内容摘要长度
[4]imgwidth 缩略图宽
[5]imgheight 缩略图高
[6]orderby 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为
[7]pagesize 分页大小
(3)底层模板变量
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),postnum,lastpost,shorttitle
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的&&格式),
textlink,typelink,imglink,image
注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。
【Page 标记】
功能说明:表示分页页面的附加参数
适用范围:列表模板
语法: {dede:page pagesize=&每页结果条数&/}
注:此标记在dedecms3.1中已经过期,dedecms3.1中直接把
pagesize属性加在 list 标记中,表示记录分页大小。
【Pagelist
功能说明:表示分页页码列表
适用范围:列表模板
{dede:pagelist listsize='3' listitem=''/}
[1] listsize 表示 [1][2][3] 这些项的长度 x 2
[2] listitem 表示页码样式,可以把下面的值叠加
index  首页
pre 上一页
pageno 页码
next 下一页
option 下拉跳转框
例: {dede:pagelist listsize='3' listitem='index pre
pageno next end option'/}
【Pagebreak
功能说明:表示文档的分页链接列表。
适用范围:仅文档模板。
语法:{dede:pagebreak/}
功能说明:表示获取文档“上一篇/下一篇”的链接列表。
适用范围:仅文档模板。
(1)语法:{dede:prenext/}
[1] get 获取连接类型(仅2007版),get='' 同V4显示横排的上下页连接, get='pre' 上一篇的连接 get='next' 下一篇连接
注:此标记默认为横向排列,如果你想用竖向排列,可以用
{dede:prenext function="str_replace(' & 下一篇:','下一篇:',@me)"/}
【Pagetitle
功能说明:表示获取文档的分页标题
适用范围:仅文档模板。
(1)语法:{dede:pagetitle style='select'/}
(2)属性:style 表示分页标题的展示样式
select 表示下拉框、link 表示文字直接链接
【Fieldlist
功能说明:获得附加表的所有字段信息。
适用范围:仅文档模板。
{dede:fieldlist}
[field:name/] : [field:value/] &br&
{/dede:fieldlist}
功能说明:获取广告代码
适用范围:所有模板。
建议在广告管理模块中获取,在此不作描述
##############################################################
## 以下仅适用于DedeCms2007版
##############################################################
功能说明:用于获取最新的问答的主题。
适用范围:非扩展模块所有模板。
(1)语法:{dede:ask row='' qtype=''}底层模板{/dede:ask}
[1] row 记录条数。
[2] qtype 类型 默认为新回复问题,commend推荐问题 ok已解决问题 high高分问题
(3)底层模板:
&span class=&tclass&&[&a href='[field:typeurl/]'&[field:tidname/]&/a&]&/span&
&span class=&tlink&&&a href=&[field:url/]&&[field:title/]&/a&&/span&
[field:typeurl/] 栏目网址
[field:tidname/] 栏目名称
[field:url/] 问题网址 [field:title/] 问题标题 [field:id/] 问题id
功能说明:用于从模板中用一个SQL查询获得其返回内容。
适用范围:非扩展模块所有模板。
(1)语法:{dede:sql sql=&&}底层模板{/dede:sql}
[1] sql 完整的SQL查询语句。
(3)底层模板:
SQL语句中查出的所有字段都可以用[field:字段名/]来调用。
功能说明:获取特定条件的圈子。
适用范围:非扩展模块所有模板。
(1)语法:{dede:group row=&个数& orderby='排序条件' }底层模板{/dede:group}
[1] row 返回结果个数。
[2] orderby 排序条件,一般为: 默认 threads 发贴量,
创建时间。
(3)底层模板:
[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子ID
【Groupthread
功能说明:获取圈子最新发表的主题。
适用范围:非扩展模块所有模板。
(1)语法:{dede:groupthread gid='' row='' orderby='' orderway=''}底层模板{/dede:groupthread}
[1] gid='' 圈子分类,为空或0刚表示所有分类
[2] row='' 条数
[3] orderby='' 排序条件 默认 dateline
[4] orderway=' 排序方向 desc 或 asc
(3)底层模板:
[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子ID
【booklist
功能说明:用于获取最新连载图书。
适用范围:连载书库。
(1)语法:{dede:booklist row='' booktype='' titlelen='' orderby='' catid='' author='' imgwidth='' imgheight=''}底层模板{/dede:booklist}
[1] row='' 行数
[2] booktype='' 图书类型 1 漫画,0 小说, -1 或默认 全部
[3] titlelen='' 标题长度
[4] orderby='' 排序
[5] catid='' 栏目ID
[6] author='' 作者
[7] imgwidth=''
[8] imgheight=''
(3)底层模板:
contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypename
功能说明:用于获取书库的栏目。
适用范围:连载书库。
(1)语法:{dede:catalog type=''}底层模板{/dede:catalog}
[1] type 类型 默认为顶级栏目,type=son 表示当前栏目的子栏目,指定特定的栏目id则为所指定的栏目。
(3)底层模板:
本标记支持in嵌套,里面的in标记还可以再使用一重样式
{dede:catalog}
&dd&&a href=&{in:field name='url'}{/in:field}&&{in:field name='classname'}{/in:field}&/a&&/dd&
{/dede:catalog}
列出所有分类:
{dede:catalog}
&div class=&book_class_form&&
&dt&&a href=&{in:field name='url'}{/in:field}&&{in:field name='classname'}{/in:field}:&/a&&/dt&
{in:sonlist}&dd& &a href='[field:url/]'&[field:classname/]&/a&&/dd&{/in:sonlist}
&div class=&clear&&
{/dede:catalog}
功能说明:用于获取图书的章节列表,适用于book_book.htm。
适用范围:连载书库。
(1)语法:{dede:chapter}底层模板{/dede:chapter}
(3)底层模板:
url 网址 ch 章节 title 标题
【contentlist
功能说明:用于获取最新图书章节。
适用范围:连载书库。
(1)语法:{dede:contentlist row='' booktype='' titlelen='' catid=''}底层模板{/dede:contentlist}
[1] row 条数
[2] booktype 图书类型 1 漫画,0 小说, -1 或默认 全部
[3] titlelen
(3)底层模板:
contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypename
本标记实际是由booklist引申的,不同之处是按book的最新发表章节排序
Power by Dedecms.com 版权所有

我要回帖

更多关于 同时查出两张表中的字段 的文章

 

随机推荐