1

インターネットでさまざまな例を見てきましたが、複数のテーブルからデータを選択するのに問題があります。私は2つのテーブルを持っています。

     1st  has 'logUID', 'groupUID' field.

もう一方

    2nd has 'logUID' , 'User ID' , 'LogEntry' , 'LogTypeUID'

私が達成しようとしているのは、LogUID が互いに一致するログ エントリを取得し、groupUID フィールドを返すことです。そのため、ログがどのグループに対して行われたかがわかります。選択または結合を試みたとき、1 つの logUID フィールドが繰り返されているようです。

SELECT TOP 10000 [log].[dbo].[Logs].[LogUID], [log].[dbo].[LogGroups].[LogUID],     [Weblog].[dbo].[LogGroups].[GroupUID] 

FROM [log].[dbo].[LogGroups], [log].[dbo].[Logs] INNER JOIN [log].[dbo].[LogGroups] as LG
ON [log].[dbo].[Logs].[LogUID] = LG.LogUID ;

どんな助けでも。

4

3 に答える 3

1

余分な FROM を削除[log].[dbo].[LogGroups],

于 2012-08-14T10:05:17.197 に答える
0

そこに[LogGroups]テーブルが2回あります...

  • FROM table1, table2意味table1 CROSS JOIN table2


したがって、コードを次のように変更するだけです...

SELECT TOP 10000
  [Logs].[LogUID],
  [LogGroups].[LogUID],
  [LogGroups].[GroupUID]
FROM
  [log].[dbo].[Logs]
INNER JOIN
  [log].[dbo].[LogGroups]
    ON [Logs].[LogUID] = [LogGroups].LogUID ; 
于 2012-08-14T10:06:27.543 に答える
-1

まず最初に、作成したテーブル間の関係を作成する必要があることを確認してください。関係を作成した後、2つの列を使用してキー関係を作成できます。そのため、最初のテーブルのlogUIDフィールドにデータが入ると、2番目のテーブルのlogUIDフィールドにも同じデータが入ります。したがって、これは両方のテーブルからデータをフェッチするのに役立ちます。

これがお役に立てば幸いです。

于 2012-08-14T10:10:48.510 に答える