Выбор из двух таблиц с разными столбцами, где нужен счет

У меня есть две таблицы, TableA и TableB. Мне нужно выбрать одно значение счетчика из таблицы A на основе условия where. Мне нужно выбрать два значения из TableB. Я хотел бы, чтобы все значения были в одном наборе результатов. В результирующем наборе никогда не будет более одной строки.

Вот что у меня есть сейчас:

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

Я знаю, что это должно быть просто, но это вызывает ошибку. Какие-либо предложения?


person Community    schedule 23.02.2010    source источник
comment
Я не думаю, что ясно, что вы ищете. Не могли бы вы включить некоторые примеры данных и какой вы ожидаете результат?   -  person CoderDennis    schedule 23.02.2010


Ответы (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.

person Mark Byers    schedule 23.02.2010