2017-12-29 9 views
1

私は3つのテーブルを持っています。 Table 1Table 2、私はUser nameTable 3に参加することができます、私はTable 1ipの列に参加することができます。異なる列の3つのテーブルを持つ内部結合

ここには、私が書いたサンプルのSqlスクリプトがあります。

SELECT R.[First Time], L.[USER], R1.[Destination Port] , L1.[IP Address] AS 'L1 IP Address',L2.[IP Address] AS 'L2 IP Address' 
    FROM [SAPA_SOCTemp_v1].[dbo].[LookUp_15_75] AS L 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_244] AS R 
    ON L.[USER]=R.[Source User] 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_246] AS R1 
    ON L.[IP]=R1.[Source IP] 
LEFT JOIN [SAPA_SOCTemp_v1].[dbo].[LookUp_15_76] AS L1 ON R1.[Destination IP]=L1.[IP Address] 
LEFT JOIN [SAPA_SOCTemp_v1].[dbo].[LookUp_15_77] AS L2 ON R1.[Destination IP]=L2.[IP Address] 
WHERE L.[USER]='support.treasury1' 
    AND R.[Source User]='support.treasury1' 

これは私が得ている出力です。

Getting

これは私が期待していた出力です。

Expected Result

これは、データあなたがgroup byを使用することができ

Table Structure and data

+0

support.treasury2とsupport.treasury3はどこから来たのですか? – Vashi

+0

@Vashi質問を更新しました – Jzl

+1

13:14には1つのエントリがあり、13:55には2つのエントリがありますか?論理は何ですか? – Vashi

答えて

0

と3つのテーブル構造です。

SELECT R.[First Time], L.[USER], R1.[Destination Port] 
FROM [SAPA_SOCTemp_v1].[dbo].[LookUp_15_75] AS L 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_244] AS R ON L.[USER]=R.[Source User] 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_246] AS R1 ON L.[IP]=R1.[Source IP] 
group by R.[First Time], L.[USER], R1.[Destination Port] 
+0

No.i 2番目の画像に指定した3列の結果が必要 – Jzl

+0

その作業していません – Jzl

+0

「動作していません」と定義し、詳細をお知らせください。それはあなたを助ける唯一の方法です。 – lucky

0

これにはいくつかの条件があります。まず、上記のテーブルから異なるユニークキーを試すことができます。

次に、DISTINCTを試してください。コードはこれに近い可能性が高くなります。

SELECT DISTINCT R.[First Time], L.[USER], R1.[Destination Port] 
FROM [SAPA_SOCTemp_v1].[dbo].[LookUp_15_75] AS L 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_244] AS R ON L.[USER]=R.[Source User] 
INNER JOIN [SAPA_SOCTemp_v1].[dbo].[Raw_15_246] AS R1 ON L.[IP]=R1.[Source IP] 
WHERE L.[USER]='support.treasury1' AND R.[Source User]='support.treasury1' 
ORDER BY R.[First Time] 

それでも解決しない場合は、上記の表のロジックについて詳しくお聞かせください。

関連する問題