0

向我展示了可以轻松地从多个表中创建视图,在 xception 的精彩答案中按其中一个表的 id 分组:CREATE VIEW WHERE SELECTid = VIEWrowID

有没有办法在 MS 中做到这一点?在任何地方,我都读过说“不”,但没有页面提供替代方案。

我不需要计数或任何东西,只需要来自多个表的多个列 GROUPed 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 回答