2011-04-14 96 views
0

我对SQL很陌生,希望对以下问题提供一些帮助: 我会运行什么查询来查找名为“John”的记录?和“Doe”的姓氏?使用两个条件查找记录的简单SQL Server查询澄清

Here's a sample Table image

如果我试试这个,这是行不通的:

select * from tableNames 
where (FName = 'John') and (LName = 'Doe') 

感谢, 雷

+0

您的查询看起来好像没什么问题。你会得到什么结果? – 2011-04-14 14:59:46

+0

你会得到什么错误信息?或者它只是不返回记录?你的桌子真的叫做'tableNames'吗? – artbristol 2011-04-14 14:59:57

+0

它如何“不起作用” - 不会产生结果?产生错误的结果?给出错误? (如果是这样:**什么**错误??) – 2011-04-14 15:00:03

回答

0

正在关注(完全相同)作为您的查询给出您指定的结果。

;WITH q AS (
     SELECT ID = 1, Fname = 'John', Lname = 'Doe' 
     UNION ALL SELECT 2, 'Barry', 'Singer' 
     UNION ALL SELECT 3, 'John', 'Doe' 
     UNION ALL SELECT 4, 'James', 'Brown' 
    ) 
    SELECT * 
    FROM q 
    WHERE Fname = 'John' AND Lname = 'Doe' 

结果

ID   Fname Lname 
----------- ----- ------ 
      1 John Doe  
      3 John Doe  
(2 rows affected) 
0

看来,您的查询应该工作。你确定你输入了正确的表名吗?你收到什么错误?这也应该工作,只是你的表的名称替换tableName

SELECT * FROM tableName WHERE Fname = 'John' AND LName = 'Doe' 

这里是一个interactive example表明原始查询应该工作。

+4

这似乎与OP已经发布的内容几乎相同...... – 2011-04-14 15:00:35

+0

@Downvoter:请问我为什么当我的答案明确回答OP代码正确的问题时,我为什么被降低了投票率,并且还提供了证明正确的有效工作示例功能?我还会花点时间指出,如果我因为写了类似于OP的内容而被低估了,那么为什么Lieven的帖子在他清楚地指出“正在跟踪(完全相同)的查询与你一样'时也被低估了? – FreeAsInBeer 2011-04-14 16:13:09

+0

我投了票,因为您重新发布了OP查询,而您的其他内容看起来更像是评论而不是答案。但是,我没有检查出你的链接,它实际上看起来很酷,并提供了可能通过的答案。检查出来后,我试图撤消我的投票,但它太长了。如果你编辑你的问题,我会撤消它。 – 2011-04-14 16:50:59