2017-04-10 2 views
0

empid、event、dateなどの列からなるテーブルの内容をSQL文で記述する必要があります。 nowイベントは、文字列を含むいくつかのデータで構成され、2番目の行にはétitが含まれます。 alterコマンドを使用して新しい列を作成する方法を知っています。私はそれにéntryまたはéxitを持つイベント列データをどのようにキャプチャするのか分かりません。誰かがこの問題について私を導くことができますか?私の仕事は、新しい列を作成し、ÉNTRYまたはEXITを持つイベント列の部分文字列データを追加することです。SQL内の別の列に部分文字列の値をコピーしてコピーするには

Empid | Event   | Date 
------+------------------+------ 
    1 | BLOCK-ENTRY  | 01-03-2017 
    2 | BLOCK-EXIT-DOOR | 01-03-2017 
    3 | BLOCK-DOOR-ENTRY | 01-03-2017 

これは表形式であり、私はneweventへのエントリー「OR 『イベント列と更新から』 EXIT'valueを取得する必要があります。この後

alter table tablename 
    add newevent varchar(10) 

として、私は列を作成しています列

+0

上記の質問でテーブル値を変更してコマンドを変更しようとしました。 –

答えて

0
update yourtablename 
set neweventcolumn = case when event like '%ENTRY%' then 'ENTRY' 
when event like '%EXIT%' then 'EXIT' end 

同様の述語は、要件に応じて変更されます。

0

「Entry」または「Exit」を4番目の列として使用し、newevent列で使用できる次のSQL問合せを使用できます。

Select 
    empid, 
    event, 
    date, 
    CASE 
     When CHARINDEX('ENTRY', dbo.TableABC.event) > 0 Then 'ENTRY' 
     When CHARINDEX('EXIT', dbo.TableABC.event) > 0 Then 'EXIT' 
    ELSE 'No Event' 
    END AS 'Event Type' 
From TableABC 

これが役に立ちます。

+0

問題を解決しました。ありがとう –

関連する問題