私のデータベースには記事があります。例以下の記事、あなたが組み合わせを含めることができます(最後の0.1付き)主な記事が常にある見るように(。+ 1)次の類似の結果を得るために結果テーブルから読み取る
1st article:
-------------------------------------------------------
12.3356.1 <- main artikel (1)
12.3356.2 <- sub artikel (2)
12.3356.3 <- sub artikel (3)
2nd article:
-------------------------------------------------------
4.641.1 <- main artikel (1)
3rd article:
-------------------------------------------------------
664.6241.1 <- main artikel (1)
664.6241.2 <- sub artikel (2)
664.6241.3 <- sub artikel (3)
664.6241.4 <- sub artikel (4)
4th article:
-------------------------------------------------------
7.31.1 <- main artikel (1)
7.31.2 <- sub artikel (2)
ためには、今somwhere私のプログラムでは、私はいくつかの特定の記事を取得します。さんが言ってみましょう:
12.3356.1
12.3356.2
12.3356.3
7.31.1
7.31.2
私はこれまでやったので、何を:
12.3356.3
7.31.2
は、今私がしなければならないものを次のようにこの場合の結果は次のようになりにおけるように、それらと同じ数の中に関連付けられているすべての休息を取ることですこれは、次のとおりです。
;WITH cutted_nummers (cut_num) as (select REVERSE(SUBSTRING(REVERSE(Nummer),CHARINDEX('.',REVERSE(Nummer)),len(Nummer))) from T_Artikel),
dist_nums (dist_num) as (select distinct(cut_num) from cutted_nummers),
final (nums) as (select dist_num from dist_nums) select * from final
ので、このクエリによって私はファイナルテーブルになったので、私はこれら二つの記事のうち、最後の.digitを切断しています、これらの記事を取得:
この結果、私は私のartikelテーブルを見て、それらの2つのうちの1つから始まるすべての数字を取得しなければなりません。私は、私は、これはのようになりますなステートメントのような必要がありますが、この結果から、好きに言う方法を考える:
select * from artikeltable that nummerfield is like '12.3356.%' or '7.31.%'
ので、「final」はテーブルから2件の記事に基づいて(この場合)を構築する必要がありますが好きです。 NEEDため
EDIT:
;WITH cutted_nummers (cut_num) as (select REVERSE(SUBSTRING(REVERSE(Nummer),CHARINDEX('.',REVERSE(Nummer)),len(Nummer))) from T_Artikel),
dist_nums (dist_num) as (select distinct(cut_num) from cutted_nummers),
final (nums) as (select dist_num from dist_nums)
SELECT Nummer FROM T_Artikel
WHERE
SUBSTRING(Nummer , 0, LEN(Nummer) - CHARINDEX(REVERSE(Nummer), '.', 0)) IN
(
SELECT nums FROM final
)
他にもありますか?私はすべてのtoseクエリを文字列に入れて、アプリケーションに配置してSQL Serverに直接配置しないでください。したがって、declare statmentは使用できません。 –
@JimmyJimm更新しました。 – NEER
あなたは私のメインポストを見ることができます - 私は全体のクエリを置いた - あなたはそれが十分に良いと思いますか? –