2

正規化されていないテーブルから選択するにはどうすればよいですか。

私はこのようなテーブルを持っています:

ここに画像の説明を入力

このテーブルは通常の BNF 2 ではありません。

DEPARTEMENT = something の NO_ID を選択したいだけです。例:
入力 44 の場合 NO_ID =1
入力 37 の場合 NO_ID =3
入力 13 (表にない) の場合 NO_ID = 5

もちろん、input = 44 の場合は機能します。

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE DEPARTEMENT = '44'

しかし、入力 = 37 または 13 の場合、どのように WHERE ステートメントを挿入できますか。

前もってありがとう、スティーブ

4

3 に答える 3

1

Please try:

select 
    NO_ID, 
    DEPARTMEMT 
from 
    T
where 
    ' '+DEPARTMEMT+' ' like 
    (case when @var=13 then ' FRANCE ' ELSE '% '+@var+' %' END)
于 2013-04-19T09:02:14.753 に答える
1

これを試して:

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE DEPARTEMENT like '%37%'
于 2013-04-19T08:28:49.593 に答える
0

オラクルのバージョン -

SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE INSTR(DEPARTEMENT, '44')>0  OR INSTR(DEPARTEMENT, '37')>0 OR INSTR(DEPARTEMENT, '13')>0 

SQL Server のバージョン -

    SELECT [NO_ID]    
FROM [T_TARIF_ZONE]
WHERE PATINDEX('44', DEPARTEMENT)>0  OR PATINDEX('37', DEPARTEMENT)>0 OR PATINDEX('13', DEPARTEMENT)>0 
于 2013-04-19T08:31:05.353 に答える