向变量赋值的 SELECT 语句不能与数据检索操作结合使用
我有一个竞标的表 Markets_DemandBids
BidID int , 竞标序列号
DemandID, int 项目序列号
UserID int, 用户ID
CompID int, 公司ID
BidDesc Nvarchar(2000) 竞标内容
由于项目既允许公司竞标,也允许个人竞标,主要看 CompID ,
如果 CompID>0, 那么就是公司竞标,需要从公司表 Soft_Company 取得公司名称 CompName 和公司图片 CompPhoto,
如果 CompID=0, 那么就是个人竞标,需要从用户表 Accounts_Users 取得用户姓名 FullName 和用户图片 Photo (CompName ,CompPhoto为null)
我这样写出现错误: 向变量赋值的 SELECT 语句不能与数据检索操作结合使用。
ALTER PROCEDURE [dbo].[up_Markets_GetDemnadBidsByDemandID]
@DemandID int
AS
DECLARE @BidID int
SELECT @BidID=BidID, UserID,FullName=(SELECT FullName FROM Markets_DemandBids INNER JOIN Accounts_Users ON Markets_DemandBids.UserID=Accounts_Users.UserID WHERE BidID=@BidID),
Photo=(SELECT Photo FROM Markets_DemandBids INNER JOIN Accounts_Users ON Markets_DemandBids.UserID=Accounts_Users.UserID WHERE BidID=@BidID),
CompID,CompName = (SELECT CompName FROM Markets_DemandBids INNER JOIN Soft_Company ON Markets_DemandBids.CompID=Soft_Company.CompID WHERE BidID=@BidID),
CompPhoto = (SELECT CompPhoto FROM Markets_DemandBids INNER JOIN Soft_Company ON Markets_DemandBids.CompID=Soft_Company.CompID WHERE BidID=@BidID),
BidDesc
FROM Markets_DemandBids
WHERE DemandID = @DemandID
请高手指导一下怎么才能实现这个查询?
BidID int , 竞标序列号
DemandID, int 项目序列号
UserID int, 用户ID
CompID int, 公司ID
BidDesc Nvarchar(2000) 竞标内容
由于项目既允许公司竞标,也允许个人竞标,主要看 CompID ,
如果 CompID>0, 那么就是公司竞标,需要从公司表 Soft_Company 取得公司名称 CompName 和公司图片 CompPhoto,
如果 CompID=0, 那么就是个人竞标,需要从用户表 Accounts_Users 取得用户姓名 FullName 和用户图片 Photo (CompName ,CompPhoto为null)
我这样写出现错误: 向变量赋值的 SELECT 语句不能与数据检索操作结合使用。
ALTER PROCEDURE [dbo].[up_Markets_GetDemnadBidsByDemandID]
@DemandID int
AS
DECLARE @BidID int
SELECT @BidID=BidID, UserID,FullName=(SELECT FullName FROM Markets_DemandBids INNER JOIN Accounts_Users ON Markets_DemandBids.UserID=Accounts_Users.UserID WHERE BidID=@BidID),
Photo=(SELECT Photo FROM Markets_DemandBids INNER JOIN Accounts_Users ON Markets_DemandBids.UserID=Accounts_Users.UserID WHERE BidID=@BidID),
CompID,CompName = (SELECT CompName FROM Markets_DemandBids INNER JOIN Soft_Company ON Markets_DemandBids.CompID=Soft_Company.CompID WHERE BidID=@BidID),
CompPhoto = (SELECT CompPhoto FROM Markets_DemandBids INNER JOIN Soft_Company ON Markets_DemandBids.CompID=Soft_Company.CompID WHERE BidID=@BidID),
BidDesc
FROM Markets_DemandBids
WHERE DemandID = @DemandID
请高手指导一下怎么才能实现这个查询?
...全文
相关推荐
asp经典入门教程 在ASP中使用SQL 语句第1/2页
五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕
PL/SQL笔记pl/sql笔记
pl/sql笔记pl/sql笔记pl/sql笔记pl/sql笔记pl/sql笔记pl/sql笔记pl/sql笔记
关于pl/sql常量和变量
想学习pl/sql的朋友可以看看啊,里面节扫了关需控制结构,常量和变量以及他们的声明
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。下表列出 SET 与 SELECT 的区别。请特别注意红色部分。 set select 同时对多个变量同时赋值 不支持 支持 表达式返回多个值时 出错 将返回的最后一个值赋给变量 表达式未返回值 变量被赋null值 变量保持原值 下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar(128) )goinsert into chinadba1(userid,addr) v
SQL变量声明和赋值知识归纳
SQL变量声明和赋值知识归纳 菜鸟进 高手路过



