【发布时间】:2016-06-28 02:20:25
【问题描述】:
这是 SQL Server:
SQL:
SELECT
Tb_Supplier.State, Tb_Supplier.City,
COUNT(DISTINCT Tb_Supplier.Name) as Suppliers
Tb_Consumer.State, Tb_Consumer.City,
COUNT(DISTINCT Tb_Consumer.Name) as Consumers
【问题讨论】:
-
这适用于哪个 RDBMS?请添加标签以指定您使用的是
mysql、postgresql、sql-server、oracle还是db2- 或其他完全不同的东西。 -
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(20 多年前),不鼓励使用它 -
您为什么使用低效的交叉联接(笛卡尔积)而不是内部联接?返回什么错误?
-
内部联接在这里不起作用,因为他需要两者的计数(在某些情况下它可能为零。但如果使用 RDBMS 支持,完整的外部联接可能会起作用。我不确定期望的输出应该是什么样子。它可能只是州、城市、供应商计数、消费者计数。
-
我已经标记了问题
sql-server和tsql(我假设“msql”是“mssql”)请在以后的问题中使用这些标签
标签: sql sql-server tsql