create procedure abc
@月份 varchar(10)
as
select distinct author_key,CAS_isi_item.itemid,coverdate,rank,author from CAS_isi_item,CAS_isi_item_author
where CAS_isi_item.itemid=CAS_isi_item_author.itemid
and coverdate=@月份
order by CAS_isi_item.itemid,CAS_isi_item_author.rank
结果得到
而我想要的是
itemid 一样的作者之间的关系 类似
author 关系作者
WANGDZ WANGX yangGQ LIUXH JIAYB ZHOUG
WANGX yangGQ LIUXH JIAYB ZHOUG WANGDZ
yangGQ LIUXH JIAYB ZHOUG WANGDZ WANGX
作者字段是 前面选出的作者 后面是关系作者字段中是 与其Itemid一样的作者
我的QQ 175396348 有大神SQLserver非常好的请加我QQ M聊 感激不尽。
是的 游标不会用 求大神解脱
追答create proc pr_GetAutor_Item
@月份 varchar(10)
AS
BEGIN
declare @temp_itemId varchar(50) -- 数据类型根据你的来
declare author_cur cursor for -- 定义游标
select distinct itemid from CAS_isi_item_author -- 由于不清楚你表结构,这里就从CAS_isi_item_author获得itemid(这就是活的所有itemid)
open author_cur
fetch next from author_cur into @temp_itemId -- 取得itemid放到了@temp_itemId中
while @@fetch_status = 0 -- 遍历所有的itemid
begin -- 这里已经是按itemid分了
-- 这里的选择语句你自己写
select * from tableName -- 这里定义你的select语句我就不写了
fetch next from author_cur into @temp_itemId -- 取得下一条itemid
END
close author_cur -- 关闭释放资源
deallocate author_cur
END
你参考下吧
大神可以留个QQ吗。。。我可能问题叙述的还不是很明白
追答额 好像是吧 你的叙述有点抽象诶
数据都是导入好的在SQLserver里面的 就是说我上面查询查询出来的如图 然后我想选出author字段里面 ,其中有关系的作者 也就是Itemid是一样的作者 。最后能输出一个 ’author‘ ‘作者关系’ 为列名的结果 。
求语句 SQL 查询出结果 然后再查询结果 得到结果中的结果
如果是你可以用游标试试
SQL语句,怎么用查询的结果,进行再查询?
直接把结果集写在 from 后面就可以了。例图中表格 结果集1 在结果集1中再查询
sql语句求助 能过sql查询表A表A有字段1 在子查询中条件中找出,并将判...
SELECT a.A from 表名 a where (len('马尾松|杉木|柳杉')-(LEN(REPLACE('马尾松|杉木|柳杉','|','')))+1)=(select count(1) from 表名 where B in ('马尾松','杉木','柳杉') and A=a.A) group by a.A;
SQL语句对返回的结果集里的字段再进行条件查询,在一个结果集显示
这个sql可以通过将初始查询结果集用括号括起来当作一个子查询(也可以称之为虚拟表),然后再对其实施进一步筛选从而获得另一个结果集的办法予以实现。例如列出各科平均分在80到90分的同学姓名和各科平均分 select stu.name,t.平均分 from stu,(select sid,avg(score) as 平均分 from scores group b...
SQL如何把表一查询出来的多个ID结果继续查询表二中的数据?
是两张表 join 么?那你的sql 改下就可以了 select * from [Rpe_case]where [id] in (select [id] from [Rpe_number] where ([daqujibie1] ='55' or [daqujibie2] ='55' or [daqujibie3] ='55' or [daqujibie] ='55' or [shengjibie] ='55' or [shijibie] ='55' ...
SQL如何在查询结果里再次查询?
做法:可以使用括号“(select查询子句)"套嵌一个查询结果。语法格式:select columnlist... from (select子句) table_name where 。注意:”)“ 后面需要给查询结果指定一个名称 table_name,名称不要与其他列名称相同,增加SQL语句的可读性。拓展:1、SQL语言,是结构化查询语言(Structured Query ...
SQL 语句怎么重查询结果中再次查询对应的表
楼主,你好!从你的描述来看,可以分两步走:第一步,从表B查询name_id字段的值 第二步,根据第一步的结果,从表A查询name字段的值 第三步,通过SQL来实现,语句如下:select name from Awhere name_id in( select name_id from B where type < '002')以上希望能帮助到你 ...
SQL 使用select查询语句返回结果,如何获得结果的数量,即行数!_百度知 ...
我来回答 select distinct A from C where B<>0 select @@rowcount -- 系统函数 @@rowcount 表示上一句sql的行数。
SQL根据查询的结果再查询
-->Title:查找指定节点的所有父结点 if object_id('Uf_GetParentID')is not null drop function Uf_GetParentID go create function Uf_GetParentID(@ID int)returns @t table(ParentID int)as begin insert @t select ParentID from tb where ID=@ID while @@rowcount!=0 begin insert @t ...
sql 查询时要返回结果的时候再增加一列来显示结果 语句怎么写啊
可以参考下面的代码:代码中'成绩'是新增的列,按用户的要求再改改就行 SELECT Title,'成绩' = CASE WHEN price < 60 THEN '不及格'ELSE '及格'END FROM titles