Revision 48139
Added by Alessia Bardi almost 7 years ago
queryPersons.sql | ||
---|---|---|
1 |
SELECT p.id as personid,
|
|
2 |
p.firstname as firstname,
|
|
3 |
p.secondnames as secondnames,
|
|
4 |
CASE WHEN length(p.secondnames) > 0 THEN trim(both from p.secondnames||', '||p.firstname) ELSE p.firstname END as fullname,
|
|
5 |
p.fax as fax,
|
|
6 |
p.email as email,
|
|
7 |
p.phone as phone,
|
|
8 |
p.dateofcollection as dateofcollection,
|
|
9 |
p.inferred as inferred,
|
|
10 |
p.deletedbyinference as deletedbyinference,
|
|
11 |
p.trust as trust,
|
|
12 |
p.inferenceprovenance as inferenceprovenance,
|
|
13 |
dc.id as collectedfromid,
|
|
14 |
dc.officialname as collectedfromname,
|
|
15 |
|
|
16 |
nc.code || '@@@' || nc.name || '@@@' || ns.code || '@@@' || ns.name as nationality,
|
|
17 |
pac.code || '@@@' || pac.name || '@@@' || pas.code || '@@@' || pas.name as provenanceaction,
|
|
1 |
SELECT |
|
2 |
p.id AS personid,
|
|
3 |
p.firstname AS firstname,
|
|
4 |
p.secondnames AS secondnames,
|
|
5 |
CASE WHEN length(p.secondnames) > 0
|
|
6 |
THEN trim(BOTH FROM p.secondnames || ', ' || p.firstname)
|
|
7 |
ELSE p.firstname END AS fullname,
|
|
8 |
p.fax AS fax,
|
|
9 |
p.email AS email,
|
|
10 |
p.phone AS phone,
|
|
11 |
p.dateofcollection AS dateofcollection,
|
|
12 |
p.inferred AS inferred,
|
|
13 |
p.deletedbyinference AS deletedbyinference,
|
|
14 |
p.trust AS trust,
|
|
15 |
p.inferenceprovenance AS inferenceprovenance, |
|
16 |
dc.id AS collectedfromid,
|
|
17 |
dc.officialname AS collectedfromname,
|
|
18 | 18 |
|
19 |
array_agg(DISTINCT i.pid || '###' || i.issuertypeclass) as pid |
|
20 |
|
|
19 |
nc.code || '@@@' || nc.name || '@@@' || ns.code || '@@@' || ns.name AS nationality, |
|
20 |
pac.code || '@@@' || pac.name || '@@@' || pas.code || '@@@' || pas.name AS provenanceaction, |
|
21 |
|
|
22 |
array_agg(DISTINCT i.pid || '###' || i.issuertypeclass) AS pid |
|
23 |
|
|
21 | 24 |
FROM persons p |
22 |
left outer join class nc on (nc.code = p.nationalityclass) |
|
23 |
left outer join scheme ns on (ns.code = p.nationalityscheme) |
|
24 |
|
|
25 |
left outer join class pac on (pac.code = p.provenanceactionclass) |
|
26 |
left outer join scheme pas on (pas.code = p.provenanceactionscheme) |
|
27 |
|
|
28 |
left outer join datasources dc on (dc.id = p.collectedfrom) |
|
25 |
LEFT OUTER JOIN class nc ON (nc.code = p.nationalityclass) |
|
26 |
LEFT OUTER JOIN scheme ns ON (ns.code = p.nationalityscheme) |
|
29 | 27 |
|
30 |
left outer join personpids pp on (pp.person = p.id) |
|
31 |
left outer join identities i on (i.pid = pp.pid) |
|
32 |
|
|
33 |
left outer join project_organization po on (po.contactperson = p.id) |
|
34 |
|
|
35 |
WHERE (p.firstname is not null OR p.secondnames is not null) AND po.resporganization is not null |
|
36 |
|
|
28 |
LEFT OUTER JOIN class pac ON (pac.code = p.provenanceactionclass) |
|
29 |
LEFT OUTER JOIN scheme pas ON (pas.code = p.provenanceactionscheme) |
|
30 |
|
|
31 |
LEFT OUTER JOIN datasources dc ON (dc.id = p.collectedfrom) |
|
32 |
|
|
33 |
LEFT OUTER JOIN personpids pp ON (pp.person = p.id) |
|
34 |
LEFT OUTER JOIN identities i ON (i.pid = pp.pid) |
|
35 |
|
|
36 |
LEFT OUTER JOIN project_organization po ON (po.contactperson = p.id) |
|
37 |
|
|
38 |
WHERE (p.firstname IS NOT NULL OR p.secondnames IS NOT NULL) AND po.resporganization IS NOT NULL |
|
39 |
|
|
37 | 40 |
GROUP BY |
38 |
p.id, |
|
39 |
p.firstname, |
|
40 |
p.secondnames, |
|
41 |
p.fax, |
|
42 |
p.email, |
|
43 |
p.phone, |
|
44 |
p.dateofcollection, |
|
45 |
p.inferred, |
|
46 |
p.deletedbyinference, |
|
47 |
p.trust, |
|
48 |
p.inferenceprovenance, |
|
49 |
dc.id, |
|
50 |
dc.officialname, |
|
51 |
nc.code, nc.name, ns.code, ns.name, |
|
52 |
pac.code, pac.name, pas.code, pas.name |
|
41 |
p.id, |
|
42 |
p.firstname, |
|
43 |
p.secondnames, |
|
44 |
p.fax, |
|
45 |
p.email, |
|
46 |
p.phone, |
|
47 |
p.dateofcollection, |
|
48 |
p.inferred, |
|
49 |
p.deletedbyinference, |
|
50 |
p.trust, |
|
51 |
p.inferenceprovenance, |
|
52 |
dc.id, |
|
53 |
dc.officialname, |
|
54 |
nc.code, nc.name, ns.code, ns.name, |
|
55 |
pac.code, pac.name, pas.code, pas.name |
Also available in: Unified diff
integrated (hopefully) all required changes from dnet40