rozwiązuję zadanie ze #sql z pod tego linka Napisałem taki kod:
WITH calosc AS (SELECT o.point, o.date FROM outcomeo AS o UNION SELECT i.point, i.date FROM incomeo AS i) SELECT calosc.point, calosc.date, inc, out FROM calosc LEFT JOIN incomeo AS i ON i.point=calosc.point and i.date=calosc.date LEFT JOIN outcomeo AS o on o.point=calosc.point AND o.date=calosc.date GROUP BY calosc.date, calosc.point, inc, out
Po uruchomieniu wyskakuje błąd "Incorrect. * Wrong number of records (more by 2)"
W stoworzonej tabeli mam o dwa wiersze więcej niż powinno być, są to dwie ostatnie daty podane w obrazku. Czy ja coś przeoczam, czy twórcy zadania?
SELECT i.point, i.date, o.out, i.inc FROM ( SELECT point, date, sum(inc) AS inc FROM Income GROUP BY point, date ) AS i LEFT JOIN ( SELECT point, date, sum(out) AS out FROM Outcome GROUP BY point, date ) AS o ON i.point = o.point AND i.date = o.date
UNION SELECT o.point, o.date, o.out, i.inc FROM ( SELECT point, date, sum(out) AS out FROM Outcome GROUP BY
Apeluję do przywódców tego świata o mocny szybki nacisk dyplomatyczny wobec Rosji i Ukrainy by jak najszybciej rozpocząć negocjacje i zakończyć ten bezsensowny przelew krwi. #wojna #ukraina
Napisałem taki kod:
WITH calosc AS
(SELECT o.point, o.date FROM outcomeo AS o
UNION
SELECT i.point, i.date FROM incomeo AS i)
SELECT calosc.point, calosc.date, inc, out FROM calosc LEFT JOIN incomeo AS i ON i.point=calosc.point and i.date=calosc.date LEFT JOIN outcomeo AS o on o.point=calosc.point AND o.date=calosc.date GROUP BY calosc.date, calosc.point, inc, out
Po uruchomieniu wyskakuje błąd "Incorrect.
* Wrong number of records (more by 2)"
W stoworzonej tabeli mam o dwa wiersze więcej niż powinno być, są to dwie ostatnie daty podane w obrazku. Czy ja coś przeoczam, czy twórcy zadania?
#pytanie #pytaniedoeksperta
SELECT i.point, i.date, o.out, i.inc
FROM (
SELECT point, date, sum(inc) AS inc
FROM Income
GROUP BY point, date
) AS i
LEFT JOIN (
SELECT point, date, sum(out) AS out
FROM Outcome
GROUP BY point, date
) AS o
ON i.point = o.point
AND i.date = o.date
UNION
SELECT o.point, o.date, o.out, i.inc
FROM (
SELECT point, date, sum(out) AS out
FROM Outcome
GROUP BY
@Oake: Ty, te zadania są w porządku :)
income
ioutcome
, a nie doincome_o
ioutcome_o
(to wynika z treści zadania), pzdr! :)