从两个表中选择,具有不同的列,其中一个需要计数

时间:2010-02-23 16:15:08

标签: mysql select count where

我有两个表,TableA和TableB。 我需要根据where条件从TableA中选择一个计数值。 我需要从TableB中选择两个值。 我想要一个结果集中的所有值。结果集中永远不会有多行。

这就是我现在所拥有的:

SELECT count(id) FROM TableA WHERE ($some_where_statement) SELECT owner, owner_ID from TableB

我知道这应该很简单,但这会引发错误。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以交叉连接以连接两个不相关的表中的行:

SELECT T1.cnt, T2.owner, T2.owner_ID
FROM (SELECT count(id) FROM TableA WHERE ($some_where_statement)) AS T1
CROSS JOIN (SELECT owner, owner_ID from TableB) AS T2

要在结果集中只有一行,假设两个子查询只返回一行。我怀疑第二个子查询不是这种情况。你可能错过了where子句。

相关问题