MSAccess - SQL

0

Mam 2 tabele w b.danych: A (kilka wierszy) i B (pusta). Obie mają tę samą strukturę. W jaki sposób, najlepiej używając SQLa, do tabeli B wstawić wiersze, które zawierają różnicę dwióch kolejnych wierszy tabeli A, tzn:

wiersz 1 tab. B = wiersz 1 tab. A- wiersz 2 tab. A
w. 2 t. B = w 2 A - w 3 A
w. 3 t. B = w 3 A - w 4 A itd...
</i>

0

kod w pl/SQL, watpie zeby dalo sie jednym selectem

 DECLARE
ile int;
i int;
a1 int;
a2 int;
BEGIN
 SELECT COUNT(*) INTO ile FROM tabelaA;
 FOR i IN 1..ile-1 LOOP
  a1 = SELECT LAST 1 FROM (SELECT FIRST i FROM tabelaA);
  a2 = SELECT LAST 1 FROM (SELECT FIRST i+1 FROM tabelaA);
  INSERT INTO tabelaB(kolumna_wyniku) VALUES (a1-a2);
END;

glowy nie dam, ale powinno dzialac

0

Niestety - jako kwerenda w Accessie ten kod nie chce działać

0

nie znam sie na accessie, poszukaj jak sie w nim tworzy funkcje, jako tresc funkcji wstaw kod ktory dalem wczesniej. W postgresie funckje odpalasz "SELECT nazwa_funkcji()", tu powinno byc podobnie.

I przed "END;" brakuje "RETURN;" w tym kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1