PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेज कॉलम मौजूद नहीं है

संपादित:उद्धृत पूंजीकरण क्वेरी को टैंक कर रहा है। नीचे दी गई दूसरी विफलता के आउटपुट में आप देख सकते हैं कि Postgres को अपर केस पसंद नहीं है। जब तक आप " . के साथ जबरदस्ती नहीं करते हैं, तब तक इसमें सब कुछ छोटा करने की आदत है उद्धरण।

--fails
select a
from
(select 1 as "A") as t;

--fails
select A
from
(select 1 as "A") as t;

--works
select "A"
from
(select 1 as "A") as t;

psql:new.sql:5: ERROR:  column "a" does not exist
LINE 1: select a
               ^
psql:new.sql:10: ERROR:  column "a" does not exist
LINE 1: select A
               ^
 A 
───
 1
(1 row)


select ...
timeloggedToday.date_logged "DATE_LOGGED_TODAY",
-- should be: timeloggedToday."DATE_LOGGED" "DATE_LOGGED_TODAY",

...

LEFT JOIN
  (SELECT app_user.lower_user_name,
          to_char(startdate, '%Y-%m-%d') AS "DATE_LOGGED",
          Sum(timeworked) / 3600 "TIME_IN_HOURS",
          startdate - Now() "DIFFERENCE_DAYS"
   ...
  ) timeloggedToday ON timeloggedToday.lower_user_name = users.author;

मैं पूंजीकरण और उद्धरणों से छुटकारा पाने के बारे में सोचूंगा। यह सिर्फ सिरदर्द पैदा करने वाला है। एक साइड नोट के रूप में, आप केवल एक बार लेफ्ट जॉइन लिख सकते हैं:

-- instead of enumerating each possible interval  
WHERE to_char(Now() - INTERVAL '8 days', '%Y-%m-%d') < to_char(startdate, '%Y-%m-%d')
-- select the interval
now()::date - start_date as diff
-- then build up your columns like:
case(case when diff=0 then date_logged else null end) as date_logged_today
case(case when diff=1 then date_logged else null end) as date_logged_yesterday
-- and so on ...

आप भी बना सकते हैं

CASE
   WHEN Ifnull(timeloggedToday.time_in_hours, 0) = 0 THEN 'No Time Logged'
   WHEN timeloggedToday.time_in_hours < 3.0 THEN 'User has not logged sufficient time' 
   ELSE 'user has logged sufficient time'
 END "STATUS_TODAY",

थकाऊ अतिरेक से छुटकारा पाने के लिए एक समारोह में।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LIMIT 1 . के साथ अनुक्रमित ORDER BY

  2. पीजी कॉलम को न्यूलेबल ट्रू में कैसे बदलें?

  3. psql में पेजर को अनुकूलित करें

  4. PostgreSQL:चेतावनी:कंसोल कोड पेज (437) विंडोज कोड पेज (1252) से अलग है

  5. NULL या IS NULL के साथ क्लॉज में