Как мне добавить два результата count (*) в две разные таблицы?

У меня есть две таблицы: игрушки и игры.

+--------------------+------------------+
| Field              | Type             |
+--------------------+------------------+
| toy_id             | int(10) unsigned |
| little_kid_id      | int(10) unsigned |
+--------------------+------------------+

+--------------------+------------------+
| Field              | Type             |
+--------------------+------------------+
| game_id            | int(10) unsigned |
| little_kid1        | int(10) unsigned |
| little_kid2        | int(10) unsigned |
| little_kid3        | int(10) unsigned |
+--------------------+------------------+

Маленький ребенок может иметь несколько игрушек. Маленький ребенок может участвовать в нескольких играх одновременно.

Я хочу запрос, который даст мне общее количество игрушек + игр, в которых участвует little_kid.

По сути, я хочу сумму этих двух запросов:

SELECT COUNT(*) FROM Toys WHERE little_kid_id = 900;
SELECT COUNT(*) from Games WHERE little_kid1 = 900 
                              OR little_kid2 = 900 
                              OR little_kid3 = 900;

Можно ли получить это в одном запросе SQL? Очевидно, я могу суммировать их программно, но это менее желательно.

(Я понимаю, что надуманный пример делает схему неэффективной. Давайте предположим, что мы не можем изменить схему.)

Ответы на вопрос(6)

Ваш ответ на вопрос