gpt4 book ai didi

sql - 查找序列词 SQL

转载 作者:行者123 更新时间:2023-12-03 02:58:21 25 4
gpt4 key购买 nike

我使用的是 SQL Server 2008,我需要在 Words 表中搜索完整的句子。

单词

ID          LineNum     WordText
----------- ----------- -----------
1 1 i
2 1 love
3 2 i
4 2 love
5 2 ice
6 3 i
7 3 love
8 3 dogs
9 3 too

如果句子是“我爱狗”,则本例中的结果应仅为 ID 6-8。

ID          LineNum     WordText
----------- ----------- ------------
6 3 i
7 3 love
8 3 dogs

最佳答案

试试这个:

SELECT T1.linenum, 
word = STUFF((
SELECT ' ' + T2.wordtext
FROM TableName T2
WHERE T1.linenum = T2.linenum
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM TableName T1
GROUP BY T1.linenum
ORDER BY T1.linenum

结果:

LINENUM     WORD
----------------------------
1 i love
2 i love ice
3 I love dogs too

查看结果 SQL Fiddle .

编辑:

对于结果列表,这是我能想到的最好的结果:

WITH CTE AS 
(SELECT T1.linenum
, word = STUFF((
SELECT ' ' + T2.wordtext
FROM TableName T2
WHERE T1.linenum = T2.linenum
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM TableName T1
GROUP BY T1.linenum)
SELECT T3.*
FROM CTE JOIN
TableName T3 ON CTE.linenum=T3.linenum
WHERE CTE.word LIKE '%I love dogs%'

结果:

ID  LINENUM WORDTEXT
6 3 I
7 3 love
8 3 dogs
9 3 too

SQL Fiddle 中的示例结果.

关于sql - 查找序列词 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28713595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com