У меня есть две таблицы: Игрушки и Игры.
+--------------------+------------------+
| 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-запросе? Очевидно, я могу представить их программно, но это менее желательно.
(Я понимаю, что надуманный пример делает схему неэффективной. Предположим, что мы не можем изменить схему.)