W moim przypadku mam 2 tabele projektu i działania i wyglądają tak.Jak radzić sobie z podkwerendą zwracającą więcej niż 1 wartość
Projekt jest w tabeli u góry i na aktywność w stosunku do dna.
W tabeli działań activityID i projectID są kluczami głównymi.
Co staram się osiągnąć, to utworzyć widok, który zwraca wszystkie projekty, które mają działania, które mają datę zakończenia później niż projekt przewidywał datę.
Podsumowując chcę, aby to zrobić:
SELECT *
FROM Project
WHERE (SELECT MAX(endDate) FROM Activity GROUP BY projectID) > projectedEndDate
Ale pojawia się następujący błąd:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
dziękuję
Dodać do niego "LIMIT 1"? –
@DavidHoelzer Ponieważ podzapytanie jest pogrupowane na identyfikatorze projektu, 'limit 1' nie jest tym, czego potrzebuje OP, ponieważ może otrzymywać dane z niewłaściwego projektu. – dasblinkenlight
Również 'LIMIT 1' jest ** nie ** standardowym SQL. Działa tylko na MySql, a to pytanie jest oznaczony Sql Server. –