Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何基于关键字获取数据_Sql_Sql Server - Fatal编程技术网

Sql 如何基于关键字获取数据

Sql 如何基于关键字获取数据,sql,sql-server,Sql,Sql Server,我有一个查询,其中包含创建人、日期、LogAgent、Logcomments等列,如下所示 Select createdby,Date,LogAgent,Logcomments from ticketsdata where ticketnumber='123456' 如果我这样给出,我得到的数据如下。 但我只需要我已“决定”为“关闭”的行 +-----------+------------+----------+-----------------------------------------

我有一个查询,其中包含创建人、日期、LogAgent、Logcomments等列,如下所示

Select createdby,Date,LogAgent,Logcomments from ticketsdata where ticketnumber='123456'
如果我这样给出,我得到的数据如下。 但我只需要我已“决定”为“关闭”的行

+-----------+------------+----------+-------------------------------------------------+ 
| createdby |  Date      | LogAgent | Logcomments                            
+-----------+------------+----------+-------------------------------------------------+
| AAAAA     | 12/02/2013 | Ramu     | Status changed from 'Resolved' to 'Closed'      |
| AAAAA     | 12/02/2013 | Ramu     | Status changed from 'Researching' to 'Resolved' |
| AAAAA     | 12/02/2013 | Ramu     | Status changed from 'Hold' to 'Researching'     |
| AAAAA     | 12/02/2013 | Ramu     | Status changed from 'Open' to 'Hold'
+-----------+------------+----------+-------------------------------------------------+
您可以使用上述查询

请尝试此操作

表格创建和数据生成-

CREATE TABLE t2
(
     ticketnumber  VARCHAR(100)
    ,[createdby]  VARCHAR(100)
    ,[Date] DATE
    ,LogAgent  VARCHAR(100)
    ,Logcomments VARCHAR(MAX)
)
GO

INSERT INTO T2 VALUES
('123456','AAAAA','12/02/2013','Ramu','Status changed from ''Resolved'' to ''Closed'''),
('123456','AAAAA','12/02/2013','Ramu','Status changed from ''Researching'' to ''Resolved'''),
('123456','AAAAA','12/02/2013','Ramu','Status changed from ''Hold'' to ''Researching'''),
('123456','AAAAA','12/02/2013','Ramu','Status changed from ''Open'' to ''Hold''')
GO
解决方案

select * from T2
where ticketnumber='123456' AND Logcomments Like '%''Resolved'' to ''Closed''%'
输出

/*------------------------
select * from T2
where ticketnumber='123456' AND Logcomments Like '%''Resolved'' to ''Closed''%'
------------------------*/
ticketnumber                    createdby   Date       LogAgent    Logcomments
------------------------------- ----------- ---------- ----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
123456                          AAAAA       2013-12-02 Ramu        Status changed from 'Resolved' to 'Closed'

(1 row(s) affected)

@Ganesh answare是正确的,以下是测试:

Declare @table table (
    createdby varchar(50),
    Dates datetime,
    LogAgent varchar(50),
    Logcomments nvarchar(max)
)

insert into @table 
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Resolved'' to ''Closed''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Researching'' to ''Resolved''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Hold'' to ''Researching''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Open'' to ''Hold''' union
select 'BBBBB', '12/02/2013', 'TOTO', 'Status changed from ''Resolved'' to ''Closed''' 


Select *
from @table 
where Logcomments like  '%''Resolved'' to ''Closed''%'
结果如下:


在回答了将近50个问题后,请学会如何设置帖子的格式<代码>像?或者,如果
Logcomments
列值是这样标准化的,那么直接使用它,就像我在问题中提到的那样,我得到了数据。对于同一个票证,我得到了许多行。但是我想要在其中“解析”为“关闭”的行logcomments@MaciejLossqlwhere无法在数据中找到细微的单引号ticketnumber='123456'和日志注释,如%'''Resolved''到''Closed''。此查询似乎有效,不知道为什么它会被删除,但注释中已经有了完美的答案,那么为什么需要输入新答案?这与此处的其他答案有何不同?
Declare @table table (
    createdby varchar(50),
    Dates datetime,
    LogAgent varchar(50),
    Logcomments nvarchar(max)
)

insert into @table 
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Resolved'' to ''Closed''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Researching'' to ''Resolved''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Hold'' to ''Researching''' union
select 'AAAAA', '12/02/2013', 'Ramu', 'Status changed from ''Open'' to ''Hold''' union
select 'BBBBB', '12/02/2013', 'TOTO', 'Status changed from ''Resolved'' to ''Closed''' 


Select *
from @table 
where Logcomments like  '%''Resolved'' to ''Closed''%'