Mijn vraag
Een collega en mijzelf hebben een Query geschreven voor een automatisch raport/tabel dat wij versturen vanaf de server naar Email via ons framework.
Waar de Functie FRIDAY is om het aantal dagen met een marketing status het aantal dagen aangeeft.
Hoe lang heeft de persoon deze status?
Relevante software en hardware die ik gebruik
PG admin 4
Wat ik al gevonden of geprobeerd heb:
Ik krijg:
ERROR: invalid input syntax for type date: '{{FRIDAY}}'
LINE 21: WHERE h2.change_date < (date('{{FRIDAY}}') + interval '1 ...
SQL state: 22007 ( An invalid datetime format was detected; that is, an invalid string representation or value was specified.)
Google leert mij (https://stackoverflow.com...3/invalid-datetime-format) en (https://www.postgresqltut.../postgresql-to_timestamp/) hoe ik dit zou kunnen oplossen, maar zou 1 van de twee redenenen waar kunnen zijn?
Mis ik gewoon ergens wat of een character ergens te veel.
OF
Kan het zijn dat ik een DATE en een String probeer te filteren?
Een collega en mijzelf hebben een Query geschreven voor een automatisch raport/tabel dat wij versturen vanaf de server naar Email via ons framework.
Waar de Functie FRIDAY is om het aantal dagen met een marketing status het aantal dagen aangeeft.
Hoe lang heeft de persoon deze status?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| SELECT b.marketingname AS "FE Name", c.employee_number AS "Paycor ID", techmap.exp AS "Technology", d.firstname || ' ' || d.lastname AS "FEM", e.firstname || ' ' || e.lastname AS "PS", f.firstname || ' ' || f.lastname AS "SME Trainer", (select count(*) from submissions subs2 WHERE subs2.submissiondate between (date('{{FRIDAY}}') - interval '6 days') and '{{FRIDAY}}' AND subs2.marketingprofile_id = b.pk_marketingprofile AND subs2.status = 'ACTIVE' ) AS "Submissions" FROM marketingprofiles b INNER JOIN (SELECT h.marketingprofile_id, h.changed FROM history h JOIN ( SELECT marketingprofile_id, max(change_date) AS maxCD, max(pk_history_id) AS maxHistoryID FROM history h2 WHERE h2.change_date < (date('{{FRIDAY}}') + interval '1 days') AND h2.fieldname = 'marketingstatus' GROUP BY marketingprofile_id) h2 ON h2.marketingprofile_id = h.marketingprofile_id WHERE h.change_date = h2.maxCD AND h.pk_history_id = maxHistoryID GROUP BY h.marketingprofile_id, h.changed) h ON h.marketingprofile_id = b.pk_marketingprofile JOIN employees c ON b.fe_id = c.pk_employee_id AND NOT (c.terminationdate is not null and lifecycle_status = 'TERMINATED' and c.terminationdate <= '{{FRIDAY}}') JOIN employees d ON c.manager_id = d.pk_employee_id JOIN employees e ON b.ps_id = e.pk_employee_id LEFT OUTER JOIN employees f ON c.trainer_id = f.pk_employee_id JOIN (values ('DS','Data Science'), ('BD','Big Data'), ('AN','Android'), ('IOS','iPhone iOS'), ('CS','Cyber Security'), ('AWS','Amazon Web Services'), ('AZ','Azure'), ('EX','O365/Exchange'), ('O365','O365/Exchange'), ('SP','Sharepoint') ) AS techmap(abbr,exp) ON b.technology = techmap.abbr WHERE h.changed = 'MARKETING' -- OR NOT (c.lifecycle_status='ON-PROJECT' -- ARGHH -- and b.marketingstatus='INACTIVE')) AND (select count(*) from submissions subs WHERE subs.submissiondate between (date('{{FRIDAY}}') - interval '6 days') and '{{FRIDAY}}' AND subs.marketingprofile_id = b.pk_marketingprofile -- AND subs.status = 'ACTIVE' ) < 6 -- AND b.pk_marketingprofile=41724 -- AND b.marketingstatus = 'MARKETING' GROUP BY "FE Name","Paycor ID","Technology","FEM","PS","SME Trainer", b.pk_marketingprofile HAVING count(*) < 6 ORDER BY "FE Name" |
Relevante software en hardware die ik gebruik
PG admin 4
Wat ik al gevonden of geprobeerd heb:
Ik krijg:
ERROR: invalid input syntax for type date: '{{FRIDAY}}'
LINE 21: WHERE h2.change_date < (date('{{FRIDAY}}') + interval '1 ...
SQL state: 22007 ( An invalid datetime format was detected; that is, an invalid string representation or value was specified.)
Google leert mij (https://stackoverflow.com...3/invalid-datetime-format) en (https://www.postgresqltut.../postgresql-to_timestamp/) hoe ik dit zou kunnen oplossen, maar zou 1 van de twee redenenen waar kunnen zijn?
Mis ik gewoon ergens wat of een character ergens te veel.
OF
Kan het zijn dat ik een DATE en een String probeer te filteren?
[Voor 2% gewijzigd door Sr Juan op 01-02-2023 18:32. Reden: extra informatie]
El trago de mezcal, como lo senos de las mujeres, uno es insuficiente, tres son demasiados