У меня есть две таблицы. PartFlights
и Parts
. A Part
может (потенциально) иметь много PartFlights
, a PartFlight
имеет один и только один Part
.Выберите количество записей, у которых есть отношения, у которых есть свои условия отношений?
+----------------------+---------+
| part_flights_pivot | part |
+----------------------+---------+
| part_flight_id | part_id |
| part_id | |
+----------------------+---------+
Вопрос я спрашиваю: Сколько PartFlights
будут там повторно использовали Parts
?
Получение этого в SQL для меня ужасно для меня. Однако я определил некоторые условия:
- В конечном счете, мне нужно выражение count, чтобы добавить результат вверх.
- Мне нужно зарегистрироваться
PartFlight
доPart
. - Для
Parts
, которые были использованы повторно, необходимо исключить первыеPartFlight
, так какPartFlight
не использует повторно используемыйPart
в то время, но новый.
мне удалось произвести следующий запрос:
SELECT part_flights_pivot.part_flight_id, part_flights_pivot.part_id, COUNT(parts.part_id)-1 as count, SUM(count) FROM part_flights_pivot
JOIN parts ON part_flights_pivot.part_id=parts.part_id
GROUP BY (parts.part_id)
HAVING COUNT(parts.part_id)-1 > 0
И в то время как он возвращает результаты, я не считаю, что эти результаты являются точно правильными.
Как вы определяете «повторно использовать»? Вы спрашиваете, сколько частей имеют части, которые находятся в других частях боя? – LordBaconPants
@LordBaconPants Не совсем. По аналогии, если летает новая плоскость, этот полет самолета не использует «повторно использованную» плоскость, а новую. Следующий полет самолета для использования этой плоскости, однако, использует то, что можно считать «повторно используемой» плоскостью в том смысле, что она использовалась раньше. – ReactingToAngularVues
Как указано в данных «повторно используется»? –