0

在 SQL 视图中,我有 5 个布尔变量和一个 int 变量。在 5 个布尔变量中,对于单个数据行,只有一个变量为真,

任务类型 boolVerySmall Datestart TagName

架构设置——文档代码 True 1900-01-01 00:00:00.000 Design_09

idProject boolsmall boolMedium boolLarge boolVeryLarge intHours

4 假 假 假 假 0

上面的数据是一行......在这一行中,当我将数据从数据库下载到excel表时,我必须只显示正确的值(boolVerySmall,boolsmall,boolMedium,boolLarge,boolVeryLarge,intHours)应该是显示在单列中,

我为此编写了一个存储过程。我发现很难获得一个具有 TRUE 的 intHours>0 的特定行。

我在下面添加 sql 查询。请帮我

SELECT dbo.tblResourceTaskList.txtTask, dbo.tblIndividualRelativeData.txtProductType, dbo.tblResourceTaskList.boolVerySmall, dbo.tblResourceTaskList.dtActualCompletionDate, dbo.tblEffortCodes.txtTagName, dbo.tblResourceTaskList.txtTaskNotes, dbo.tblResourceTaskList.idList.idLaunch, .tblResourceTaskList.idResource、dbo.tblResourceTaskList.boolSmall、dbo.tblResourceTaskList.boolMedium、dbo.tblResourceTaskList.boolLarge、dbo.tblResourceTaskList.boolVeryLarge、dbo.tblResourceTaskList.intDirectHours

从 dbo.tblResourceTaskList INNER JOIN dbo.tblProjectUsers ON dbo.tblResourceTaskList.idSubProject = dbo.tblProjectUsers.idSubProject AND dbo.tblResourceTaskList.idResource = dbo.tblProjectUsers.idUser INNER JOIN dbo.tblLaunchInfo ON dbo.tblResourceTaskList.idLaunch = dbo.tblLaunchInfo.idLaunch内连接 dbo.tblIndividualRelativeData ON dbo.tblResourceTaskList.idIndividualRelativeEffort = dbo.tblIndividualRelativeData.idIndividualRelativeEffort 左外连接 dbo.tblResourceTaskList.idEffortCode = dbo.tblEffortCodes.idEf

我的存储过程是 SELECT txtTask, txtProductType, boolVerySmall , txtTagName, txtTaskNotes,

dtActualCompletionDate FROM tblResourceTaskList_View WHERE (idSubProject = @idSubProjectIndex)

由于 db 的第一行的 boolVerySmall 为 TRUE,则 SP 应返回该值,如果不是该值,则应返回该值。

我不必在 excel 表中填写True ,而是必须在 excel 表中为 boolVerySmall、S - Small、M - Medium、L - Large VL- VeryLarge 分配 VS。

所以请帮助我如何解决这个问题。1. 分配短名称(例如 VS... 用于布尔变量)。2. 仅返回一个值(boolverysmall 或 ...)并将 VS 分配给该值并将其填充到 excel 中。3. 如果所有的布尔值都是假的,那么应该分配 intHours...

请帮助我。

谢谢拉姆

4

1 回答 1

0

我可以使用 CASE 语句为 SP 赋值。

现在,它的工作正常。

谢谢

拉姆

于 2009-07-10T07:36:13.373 回答