0
旧SQL:コンバートSQL
SELECT
[FileName], [FilePath]
FROM
dbo.[tb_CrawlData] cr
WHERE
cr.Content LIKE '%' + (SELECT content
FROM [tb_CrawlData]
WHERE Content LIKE '%test1%') + '%'
GROUP BY
cr.FileName, [FilePath]
ORDER BY
cr.FileName
旧C#のSQLクエリ:
Sqlquery = "SELECT [FileName], [FilePath]"
+ " FROM [tb_CrawlData] cr "
+ " WHERE cr.Content like '%' + (" + Sqlquery.Substring(Sqlquery.IndexOf(" SELECT") + 1) + ") + '%' ";
Sqlquery += " GROUP BY cr.FileName,[FilePath]"
+ " ORDER BY cr.FileName ";
新しいSQL:
select
[FileName], [FilePath]
from
dbo.[tb_CrawlData] cr
where exists (select 1
from [tb_CrawlData] cd
where cd.Content like '%data%'
and cr.Content like '%' + cd.Content + '%')
group by
cr.FileName, [FilePath]
order by
count(*) desc, cr.FileName
新しいC#のSQLクエリ:
新しいSQLは、私はどのようにC#を変更するか分からない。
:-)書いて、あなたはあなたのポストでそれのための作業パターンを持っている - どこ正確な問題がありますか?あなたはC#で文字列を作成する方法を知っていますか?もしそうなら、SQLクエリを作成することができます。パラメータ化されたクエリについて読むと、サンプルは非常に危険です.SQLの脆弱性です。 – nabuchodonossor
これは2つのSQLテーブルを含むクエリ内にサブクエリが存在するという複雑なケースです。最初に基本的なクエリを書く方がよいでしょう。 –