首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

sql存储过程的小有关问题-查询两个表

2011-12-19 
sql存储过程的小问题-查询两个表建一个存储过程,同时查询两个表的内容。我是这样写的:、、、、、、、、、、、、、、、、、、、、

sql存储过程的小问题-查询两个表
建一个存储过程,同时查询两个表的内容。
我是这样写的:
、、、、、、、、、、、、、、、、、、、、、、

CREATE   PROCEDURE   rm
@Catego   varchar(50),
@OrderID   varchar(50)

as

select   ID,Title,aa,FuTitle,

cate=(select   name   from   category   where   left(orderid,12)= '001011011001 '),

OrderID=(select   idname   from   Category   where   OrderID   =   @Catego)  

from   Info   where   aa=@Catego

order   by   id   desc
GO
、、、、、、、、、、、、、、、、、、、、、
提示有错误:
查询返回的值多于一个。当子查询跟随在   =、!=、 <、 <=、> 、> =   之后,或子查询用作表达式时,这种情况是不允许的。

我的表category里面符合left(orderid,12)= '001011011001 '这个条件的有7个记录。
我想同时读取category表符合left(orderid,12)= '001011011001 '的字段category的值,同时读取category表符合OrderID   =   @Catego的字段idname的值,同时还读取info表的一些字段的值,这个存储过程应该怎么写???

[解决办法]
select a.ID,a.Title,a.aa,a.FuTitle,b.name, b.OrderID
from Info a join category on a.OrderID = b.OrderID
where a.aa=@Catego and left(b.orderid,12)= '001011011001 and b.OrderID = @Catego
order by a.id desc
[解决办法]
select A.ID,A.Title,A.aa,A.FuTitle,B.name, B.OrderID
from Info A left join category B on A.OrderID = B.OrderID
where A.aa=@Catego and left(B.orderid,12)= '001011011001 and B.OrderID = @Catego
order by A.id desc

这样应该可以了

热点排行