<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=DenormalizedViewsForReporting</id>
	<title>DenormalizedViewsForReporting - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=DenormalizedViewsForReporting"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=DenormalizedViewsForReporting&amp;action=history"/>
	<updated>2026-08-22T14:11:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=DenormalizedViewsForReporting&amp;diff=968&amp;oldid=prev</id>
		<title>Admin: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=DenormalizedViewsForReporting&amp;diff=968&amp;oldid=prev"/>
		<updated>2016-04-06T20:08:49Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; -- Select for RT_TICKETS_VW&lt;br /&gt;
 -- Non-Disabled Tickets Only (No Custom Fields) View&lt;br /&gt;
 create or replace view RT_TICKETS_VW as&lt;br /&gt;
 select distinct A.Id as Ticket, B.Name as Queue, A.Subject, A.Status, A.Priority,&lt;br /&gt;
        C.RealName as OwnerName, C.EmailAddress, A.TimeEstimated, A.TimeWorked, A.TimeLeft,&lt;br /&gt;
        trunc(A.Created) as Created,&lt;br /&gt;
        trunc(A.Started) as Started,&lt;br /&gt;
        trunc(A.Due) as Due,&lt;br /&gt;
        trunc(A.Resolved) as Resolved,&lt;br /&gt;
        trunc(A.LastUpdated) as LastUpdated&lt;br /&gt;
 from TICKETS A,&lt;br /&gt;
      QUEUES B,&lt;br /&gt;
      USERS C&lt;br /&gt;
 where A.Type = &amp;#039;ticket&amp;#039;&lt;br /&gt;
 and   A.Id   = A.EffectiveId&lt;br /&gt;
 and   A.Status &amp;amp;lt;&amp;amp;gt; &amp;#039;deleted&amp;#039;&lt;br /&gt;
 and   A.Disabled = 0&lt;br /&gt;
 and   B.Id = A.Queue&lt;br /&gt;
 and   C.Id = A.Owner;&lt;br /&gt;
 &lt;br /&gt;
 grant select on RT_TICKETS_VW to RTACCT;&lt;br /&gt;
 &lt;br /&gt;
 -- Select for RT_TICKET_CUSTOM_FIELDS_VW&lt;br /&gt;
 -- Ticket Custom Fields Only View&lt;br /&gt;
 create or replace view RT_TICKET_CUSTOM_FIELDS_VW as&lt;br /&gt;
 select distinct T.Id as Ticket, nvl(C.Name, &amp;#039; &amp;#039;) as CustomField, nvl(C.Content, &amp;#039; &amp;#039;) as Content&lt;br /&gt;
 from rtadm.TICKETS T&lt;br /&gt;
 left outer join (select A.ObjectId, B.Name, A.Content&lt;br /&gt;
                  from rtadm.OBJECTCUSTOMFIELDVALUES A,&lt;br /&gt;
                       rtadm.CUSTOMFIELDS B&lt;br /&gt;
 &lt;br /&gt;
                  Where A.ObjectType = &amp;#039;RT::Ticket&amp;#039;&lt;br /&gt;
                  and   A.Disabled = 0&lt;br /&gt;
                  and   B.Id = A.CustomField&lt;br /&gt;
                  and   B.Disabled = 0) C&lt;br /&gt;
 on T.Id = C.ObjectId&lt;br /&gt;
 where T.Type = &amp;#039;ticket&amp;#039;&lt;br /&gt;
 and   T.Id = T.EffectiveId&lt;br /&gt;
 and   T.Status &amp;amp;lt;&amp;amp;gt; &amp;#039;deleted&amp;#039;&lt;br /&gt;
 and   T.Disabled = 0;&lt;br /&gt;
 &lt;br /&gt;
 grant select on RT_TICKET_CUSTOM_FIELDS_VW to RTACCT;&lt;br /&gt;
 &lt;br /&gt;
 -- Select for RT_TICKET_LINKS_VW&lt;br /&gt;
 -- Ticket Links Only View&lt;br /&gt;
 create or replace view RT_TICKET_LINKS_VW as&lt;br /&gt;
 select distinct A.LocalBase as Base, A.LocalTarget as Target, A.Type&lt;br /&gt;
 from LINKS A,&lt;br /&gt;
      TICKETS B&lt;br /&gt;
 where A.Type &amp;amp;lt;&amp;amp;gt; &amp;#039;MergedInto&amp;#039;&lt;br /&gt;
 and   B.Id = A.LocalBase&lt;br /&gt;
 and   B.Disabled = 0;&lt;br /&gt;
 &lt;br /&gt;
 grant select on RT_TICKET_LINKS_VW to RTACCT;&lt;br /&gt;
 &lt;br /&gt;
 -- Select for RT_TICKET_REQUESTORS_VW&lt;br /&gt;
 -- Ticket Requestors Only View&lt;br /&gt;
 create or replace view RT_TICKET_REQUESTORS_VW as&lt;br /&gt;
 select distinct A.Instance as Ticket, C.RealName as Name, C.EmailAddress&lt;br /&gt;
 from GROUPS A,&lt;br /&gt;
      GROUPMEMBERS B,&lt;br /&gt;
      USERS C&lt;br /&gt;
 where A.Domain = &amp;#039;RT::Ticket-Role&amp;#039;&lt;br /&gt;
   and A.Type = &amp;#039;Requestor&amp;#039;&lt;br /&gt;
   and B.GroupId = A.Id&lt;br /&gt;
   and B.MemberId = C.Id;&lt;br /&gt;
 &lt;br /&gt;
 grant select on RT_TICKET_REQUESTORS_VW to RTACCT;&lt;br /&gt;
 &lt;br /&gt;
 -- Select for RT_TICKET_COMMENTS_VW&lt;br /&gt;
 -- Ticket Comments Only View&lt;br /&gt;
 create or replace view RT_TICKET_COMMENTS_VW as&lt;br /&gt;
 select distinct B.EffectiveId as Ticket, A.Created, DBMS_LOB.SubStr(C.Content, 4000, 1) Content&lt;br /&gt;
 from TRANSACTIONS A,&lt;br /&gt;
      TICKETS B,&lt;br /&gt;
      ATTACHMENTS C&lt;br /&gt;
 where A.ObjectType = &amp;#039;RT::Ticket&amp;#039;&lt;br /&gt;
   and A.Type = &amp;#039;Comment&amp;#039;&lt;br /&gt;
   and A.ObjectId = B.Id&lt;br /&gt;
   and B.Status &amp;amp;lt;&amp;amp;gt; &amp;#039;deleted&amp;#039;&lt;br /&gt;
   and A.Id = C.TransactionId&lt;br /&gt;
   and C.ContentType = &amp;#039;text/plain&amp;#039;&lt;br /&gt;
   and C.ContentEncoding = &amp;#039;none&amp;#039;&lt;br /&gt;
   order by B.EffectiveID, A.Created;&lt;br /&gt;
 &lt;br /&gt;
 grant select on RT_TICKET_COMMENTS_VW to RTACCT;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 -- This is an SQL report using the RT Views&lt;br /&gt;
 -- for a report for Queue &amp;quot;XXXXX&amp;quot;&lt;br /&gt;
 Select T.Ticket, T.Subject, R.Name as Requestor, T.Started as &amp;quot;Date Opened&amp;quot;, T.Resolved as &amp;quot;Date Resolved&amp;quot;,&lt;br /&gt;
       CF1.Content as &amp;quot;Resolution Type&amp;quot;, T.Priority, T.OwnerName as Owner, C.Content as Comments,&lt;br /&gt;
       T.Status, CF2.Content as &amp;quot;Work-State&amp;quot;, T.Due&lt;br /&gt;
 From RT_TICKETS_VW T,&lt;br /&gt;
      RT_TICKET_REQUESTORS_VW R,&lt;br /&gt;
      RT_TICKET_COMMENTS_VW C,&lt;br /&gt;
      RT_TICKET_CUSTOM_FIELDS_VW CF1,&lt;br /&gt;
      RT_TICKET_CUSTOM_FIELDS_VW CF2&lt;br /&gt;
 Where T.Queue = &amp;#039;XXXXX&amp;#039;&lt;br /&gt;
   and T.Ticket = R.Ticket&lt;br /&gt;
   and T.Ticket = C.Ticket(+)&lt;br /&gt;
   and T.Ticket = CF1.Ticket(+)&lt;br /&gt;
   and T.Ticket = CF2.Ticket(+)&lt;br /&gt;
   and CF1.CustomField(+) = &amp;#039;Resolution Type&amp;#039;&lt;br /&gt;
   and CF2.CustomField(+) = &amp;#039;Work-State&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Contributed by Kenn&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>