小编bob*_*obs的帖子

如果SQL或Access中的逻辑查询

问候,SO人.

我正在开发一个让我使用Access数据库的项目.这是设置:

我有三张桌子:

Tab1 with employee names, ID#s, Manager names and Manager ID#s.
Tab2 with chat info, employee ID#s and employee names.
Tab3 with Manager ID#s, Manager names and team names.
Run Code Online (Sandbox Code Playgroud)

我目前有一个选择以下内容的查询:

tab2.[employee name], tab2.[employee id], tab3.[chat info], tab1.[manager id], tab1.[manager id], tab3.[team name]
where
tab2.[employee id] = tab1.[employee id] and tab2.[manager id] = tab3.[manager id];
Run Code Online (Sandbox Code Playgroud)

我想要完成的是:如果ID在行的某个地方不匹配,我想有办法在"团队"字段中放置"未知".有任何想法吗?

提前致谢!

sql database ms-access

3
推荐指数
1
解决办法
737
查看次数

T-SQL Two Where子句在同一列上

在SQL Server 2008中,我有下面的表示例.

Name   Num
----------
John    20
John    30
Peter   10
Peter   20
Peter   30
Marry   20
Marry   30
Mike    10
Mike    20
Mike    30
Phil    10
Phil    30
Run Code Online (Sandbox Code Playgroud)

我想要Num = 10和Num = 20的记录.查询将返回

Name   Num
----------
Peter   10
Peter   20
Mike    10
Mike    20
Run Code Online (Sandbox Code Playgroud)

非常感谢.

t-sql sql-server where-clause

3
推荐指数
1
解决办法
6231
查看次数

如何在WHERE .. IN子句中选择每个元素的前n个结果

我有一个包含多个计算机名称和连接日期的表.这是一个例子.

ID    Computer         User         Date         
------------------------------------------------
1      O-1234          User1         2010-07-08        
2      O-1234          User2         2010-08-24           
3      O-1234          User2         2010-09-25
4      O-1555          User3         2010-08-24           
5      O-1555          User3         2010-09-25      
Run Code Online (Sandbox Code Playgroud)

我希望能够只为每台计算机选择最后2或3个连接.另外,我无法修改表格.有人有想法吗?

谢谢

编辑:这是一个MS Access mdb文件

编辑":由于RANK OVER()不能在MS Access中使用,是否可以使用临时表来完成工作?

sql ms-access

3
推荐指数
1
解决办法
83
查看次数

我安装了哪个版本的 tSQLt(数据库测试框架)?

有什么方法可以找到数据库上安装的tSQLt的版本号吗?

请注意,tSQLt 是 SQL Server 的测试框架,而不是 T-SQL。(请不要投票关闭作为不相关的重复内容。)

sql tsqlt

3
推荐指数
1
解决办法
727
查看次数

如何将INT数据库字段与VARCHAR类型进行比较

我有以下存储过程,而不是编写完整的存储过程,但其中一些是:

@course int = null,
    SET @query = @query + 'Where course_id='+ cast(@course as varchar)
Run Code Online (Sandbox Code Playgroud)

我想知道何时将@course转换为VARCHAR类型,而我course_id在数据库中的类型是INT类型 - 比较是如何进行的?

sql t-sql sql-server

2
推荐指数
1
解决办法
7135
查看次数

在SQL Server 2005中授予对2个表的只读访问权限的最佳方法?

什么是将一些用户访问权限授予SQL Server 2005数据库中几个表的最佳方法?

我知道文献推动了对视图的使用,但是获得对实际表的只读访问有什么好处?

至少在表中会有较少的开销,因为索引和其他限制已经到位并在表中进行管理(单点维护).如果我创建视图,那么我不需要维护它们并在它们上创建索引......以及这将是SQL本身的额外开销吗?

sql-server view

2
推荐指数
1
解决办法
6836
查看次数

日期时间变量的动态sql语法问题

对于这段代码,当我介绍2个日期变量时,代码错误带有错误.

错误是

Msg 137, Level 15, State 1, Line 8
Must declare the scalar variable "@STARTDATE".
Msg 137, Level 15, State 1, Line 9
Must declare the scalar variable "@ENDDATE".
Run Code Online (Sandbox Code Playgroud)

当我的大脑现在正式死亡时,有什么想法绕过这个吗?

DECLARE 
    @Query1  AS NVARCHAR(MAX),
    @Startdate DATETIME,
    @Enddate DATETIME

SET @STARTDATE = '10-JAN-2012'
SET @ENDDATE = '11-JAN-2012'

SET @Query1 = '

;WITH CTE AS
(
    select COALESCE( PT.[description] , ''Grand Total'') AS [Transaction Type], 
           Sum (AI.PRICE_INC_VAT) AS [AMOUNT (ú) CREDIT],
           P.[DESCRIPTION] AS [PRODUCT TYPE]

From  [dbo].[T1] C 
join [dbo].[T2] S …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

2
推荐指数
1
解决办法
5670
查看次数

从字符串转换为uniqueidentifier时转换失败

请注意,目前我正在尝试通过C#ADO.NET执行以下INSERT命令,但是收到上述错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('{6b15a625-b967-4d3b-9ee3-34f64633f469}','test title','test subject','test content','test author',GETDATE(),'{475f30a1-142f-4fd5-b783-598d838559de}',1,Null)
Run Code Online (Sandbox Code Playgroud)

找到一个小程序来检查GUID是否正确:http: //www.devx.com/vb2themax/Tip/18293

当我运行程序时,它表明{6b15a625-b967-4d3b-9ee3-34f64633f469}和{475f30a1-142f-4fd5-b783-598d838559de}都是GUID.有没有人有任何建议来确定我收到此错误的原因?TIA.

更新:

谢谢你的建议,bobs; 但是,当我使用以下命令时,我仍然得到相同的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('6b15a625-b967-4d3b-9ee3-34f64633f469','test title','test subject','test content','test author',GETDATE(),'475f30a1-142f-4fd5-b783-598d838559de',1,Null)
Run Code Online (Sandbox Code Playgroud)

更新2:请注意我使用的是SQL Server 2008.

更新3:这变得很奇怪.当我使用NEWID()时,我仍然收到相同的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES(NEWID(),'test title','test subject','test content','test author',GETDATE(),NEWID(),1,Null)
Run Code Online (Sandbox Code Playgroud)

c# sql t-sql ado.net sql-server-2008

2
推荐指数
1
解决办法
7228
查看次数

带有奇怪别名的SQL语句

在sql存储过程中,我看到一个sql块,如下所示:

SELECT @GenPlanGuid = GenPlanGuid
FROM ACM.BeeBusiness
WHERE BeeBusinessGuid = @BeeBusinessGuid
Run Code Online (Sandbox Code Playgroud)

没有名为ACM的数据库,没有链接服务器,没有任何功能,没有什么是带有这样的别名的子选择 - >(从某些东西中选择)ACM

那隐藏的别名在哪里?

sql sql-server

1
推荐指数
1
解决办法
84
查看次数

将*.mdf文件添加到C#Project

我正在使用Visual Studio 2005.我创建了一个项目,而不是Web项目,只是Windows应用程序.

我记得可以将Access数据库文件添加到项目中.我不需要连接到服务器,可以检索数据.我想用SQL数据库文件做同样的事情.

我做了以下步骤:

  1. 右键单击项目.
  2. 选择添加现有项目
  3. 浏览*.mdf文件.
  4. 出现DataSource配置向导,它显示此消息

    从数据库检索信息时发生错误:由于启动用户实例的进程失败,无法生成SQL Server的用户实例.连接将被关闭.

我需要帮助将mdf文件添加到我的项目中.

c# sql mdf

1
推荐指数
1
解决办法
1万
查看次数