2016-12-19 5 views
0

selectの結果を別のテーブルのルックアップとしてレンダリングすることに興味があります。別のテーブルでルックアップを実行し、選択した結果を生成する

select [timestamp],[client_op] 
from recording.dbo.events 

client_opはテーブルrecording.dbo.EventTypesで翻訳を持っており、直接recording.dbo.EventTypesの列OpCodeに相関させることができる。

のようなものを考えます。

recording.dbo.EventTypesに含まれているEventNameの値を、client_opを使用して返します。他の結果はrecording.dbo.eventsのみです。私は基本的にrecording.dbo.events.client_opの代わりにrecording.dbo.EventTypes.EventNameを使用しています。

私はINNER JOINについて調査しましたが、このタイプの検索の実行方法を理解することはできません。ストレートなインナーが私に参加するようにこれが聞こえる

select C.[timestamp],C.[filer_id],C.[user_sid],C.[DirPath],C.[FileName],E.EventName 
from varonis.dbo.cifs_events_2 C 
join VrnsDomainDB.dbo.EventTypes E on C.[client_op]=E.OpCode 
where C.[timestamp] >= dateadd(minute, -25, getdate()) and (charindex('.doc',C.[FileName]) > 0 or charindex('.xls',C.[FileName]) > 0 or charindex('.ppt',C.[FileName]) > 0 or charindex('.ont',C.[FileName]) > 0) order by C.USER_SID 
+0

テーブル定義とサンプルデータの中には、希望する結果とともに、この質問をもっと良くするものがあります。ここにいくつかのアイデアを得るのに最適な場所です。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

答えて

2

select e.[timestamp],et.EventName 
from recording.dbo.events e 
join recording.dbo.EventTypes et on e.[client_op]=et.OpCode 

joinが暗黙のうちにinnerであることを下記の受け入れ答えあたりとしてここ


は解像度です。

+1

これは、信じられないほど曖昧な記述を考えれば、可能な推測のようです。 –

+1

ええ、私は、この説明は基本的に、以前は使用していない人が書いた、参加という概念のラウンドアバウトな説明だと思います。 – Blorgbeard

+0

パーフェクト!元の質問を現実世界のインスタンスに更新しました。 – mbrownnyc

関連する問題