diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2023-03-17 12:16:10 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2023-03-17 12:16:10 +0100 |
| commit | 0771e885dba9d95401c32205c3058a9212d1054a (patch) | |
| tree | 38750188f9e435890e9ff79366d1e200a436963f | |
| parent | 175a14097edd1869dfcfc577474e110b15f56dd5 (diff) | |
| download | perlweeklychallenge-club-0771e885dba9d95401c32205c3058a9212d1054a.tar.gz perlweeklychallenge-club-0771e885dba9d95401c32205c3058a9212d1054a.tar.bz2 perlweeklychallenge-club-0771e885dba9d95401c32205c3058a9212d1054a.zip | |
Task 1 SQL done
| -rw-r--r-- | challenge-208/luca-ferrari/postgresql/ch-1.sql | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-208/luca-ferrari/postgresql/ch-1.sql b/challenge-208/luca-ferrari/postgresql/ch-1.sql new file mode 100644 index 0000000000..fd626bdd31 --- /dev/null +++ b/challenge-208/luca-ferrari/postgresql/ch-1.sql @@ -0,0 +1,30 @@ +-- +-- Perl Weekly Challenge 208 +-- Task 1 +-- +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-208/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc208; + +CREATE OR REPLACE FUNCTION +pwc208.task1_plpgsql( f text[], s text[] ) +RETURNS SETOF TEXT +AS $CODE$ + WITH ta AS ( + SELECT t, row_number() over() AS v + FROM unnest( f ) t + ) + , tb AS ( + SELECT t, row_number() over() AS v + FROM unnest( s ) t + ) + , res AS ( + SELECT ta.t, ta.v + tb.v AS v + FROM ta JOIN tb ON ta.t = tb.t + ) + SELECT res.t + FROM res + WHERE res.v = (SELECT min( res.v ) FROM res ); +$CODE$ +LANGUAGE sql; |
