0

ここで、xception のすばらしい回答で、複数のテーブルからビューを作成し、いずれかのテーブルの ID でグループ化することが容易であることがわかりました: CREATE VIEW WHERE SELECTid = VIEWrowID

MSでそれを行う方法はありますか?どこでも、私は「いいえ」と言っているのを読んだことがありますが、代替案を提供するページはありません.

カウントなどは必要ありません。1 つのテーブルの 1 つの列を GROUP BY(?) した複数のテーブルの複数の列だけです。

よろしくお願いします!

回答ありがとうございます。

ビューの SELECT の場合:

SELECT dbo.table1.column1 AS table1column1,
       dbo.table1.column2 AS table1column2,
       dbo.table2.column1 AS table2column1,
       dbo.table2.column2 AS table2column2
FROM table1, table2
WHERE table2.column1 = table1.column1
GROUP BY table1.column1
4

1 に答える 1

2

MySQL はグループ化されていない列からランダムな値を選択するだけなので、次のようにする必要があります。

SELECT dbo.table1.column1 AS table1column1,
       min(dbo.table1.column2) AS table1column2,
       min(dbo.table2.column1) AS table2column1,
       min(dbo.table2.column2) AS table2column2
FROM table1, table2
WHERE table2.column1 = table1.column1
GROUP BY table1.column1

このブログ投稿http://rpbouman.blogspot.de/2007/05/debunking-group-by-myths.htmlを読んで、MySQL が何をしているのか (間違っている) を理解することを強くお勧めします。

于 2012-11-05T20:36:30.340 に答える