Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Stephane Crozat
apisub
Commits
f63c4eaa
Commit
f63c4eaa
authored
Nov 18, 2018
by
Stephane Crozat
Browse files
Fixing vlocaluser (joining need to suppr accents), + few enhancements
parent
36b15429
Changes
1
Show whitespace changes
Inline
Side-by-side
sql/apisub.sql
View file @
f63c4eaa
...
...
@@ -47,11 +47,25 @@ CREATE TABLE utcstudent (
\COPY utcstudent (firstname,surname,speciality,level) FROM '/home/stc/inscriptions_A18.csv' WITH CSV HEADER DELIMITER ';' QUOTE '"'
*/
CREATE
VIEW
vlocaluser
AS
CREATE
OR
REPLACE
FUNCTION
unaccent_string
(
TEXT
)
RETURNS
TEXT
IMMUTABLE
STRICT
LANGUAGE
SQL
AS
$$
SELECT
translate
(
$
1
,
'âãäåÁÂÃÄÅèééêëÈÉÉÊËìíîïìÌÍÎÏÌóôõöÒÓÔÕÖùúûüÙÚÛÜ'
,
'aaaaAAAAAeeeeeEEEEEiiiiiIIIIIooooOOOOOuuuuUUUU'
);
$$
;
CREATE
OR
REPLACE
VIEW
vlocaluser
AS
SELECT
l
.
utclogin
,
u
.
surname
,
u
.
firstname
,
MAX
(
u
.
speciality
)
AS
speciality
,
MAX
(
u
.
level
)
AS
level
,
CASE
WHEN
COUNT
(
*
)
>
1
THEN
'duplication'
END
AS
warning
CASE
WHEN
COUNT
(
*
)
>
1
THEN
'duplication'
END
AS
warning
,
l
.
utclogin
||
'etu.utc.fr'
AS
utcmail
FROM
localuser
l
LEFT
JOIN
utcstudent
u
ON
l
.
surname
=
u
.
surname
AND
l
.
firstname
=
u
.
firstname
LEFT
JOIN
utcstudent
u
ON
l
.
surname
=
u
.
surname
AND
l
.
firstname
=
unaccent_string
(
u
.
firstname
)
GROUP
BY
l
.
utclogin
,
u
.
surname
,
u
.
firstname
;
/** Test dataset
...
...
@@ -72,14 +86,14 @@ ap.code,
CASE
WHEN
ap
.
code
<
10
THEN
'000'
||
ap
.
code
WHEN
ap
.
code
>=
10
THEN
'00'
||
ap
.
code
END
AS
normcode
,
ap
.
name
,
ap
.
year
,
ap
.
semester
,
TO_CHAR
(
ap
.
dbegin
,
'TMday FMDD TMmonth'
)
AS
dbegin
,
TO_CHAR
(
ap
.
dend
,
'TMday FMDD TMmonth'
)
AS
dend
,
ap
.
size
,
ap
.
ects
,
ap
.
mail
,
ap
.
mail
,
ap
.
ects
,
ap
.
size
,
COUNT
(
su
.
utclogin
)
AS
nbsub
FROM
api
ap
LEFT
JOIN
subscribe
su
ON
ap
.
code
=
su
.
api
GROUP
BY
ap
.
code
,
normcode
,
ap
.
name
,
ap
.
year
,
ap
.
semester
,
dbegin
,
dend
,
ap
.
size
,
ap
.
ects
,
ap
.
mail
ORDER
BY
ap
.
year
,
ap
.
semester
,
ap
.
dbegin
,
ap
.
dend
,
ap
.
code
;
CREATE
OR
REPLACE
VIEW
vsubscription
AS
SELECT
ap
.
*
,
TO_CHAR
(
su
.
subdate
,
'DD/MM/YYYY'
)
AS
subdate
,
su
.
utclogin
,
lo
.
firstname
,
lo
.
surname
,
lo
.
speciality
,
lo
.
level
SELECT
ap
.
*
,
TO_CHAR
(
su
.
subdate
,
'DD/MM/YYYY'
)
AS
subdate
,
su
.
utclogin
AS
sublogin
,
lo
.
*
FROM
subscribe
su
JOIN
vapi
ap
ON
ap
.
code
=
su
.
api
LEFT
JOIN
vlocaluser
lo
ON
su
.
utclogin
=
lo
.
utclogin
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment