SQL Query

Post Reply
mhertle
Posts: 6
Joined: 04. Feb 2016, 16:38
Contact:

SQL Query

Post by mhertle » 23. Mar 2016, 15:43

Wir möchten einen Bericht bauen in dem Wir die Aufgaben in Relation zum Change darstellen. Ich habe aber keine Tabelle gefunden wo ich die Verbindung durchführen kann. Hat mir jemand einen Tipp?

Vielen Dank
Matthias

jmaku
Posts: 168
Joined: 05. Oct 2015, 14:24
Contact:

Re: SQL Query

Post by jmaku » 23. Mar 2016, 20:07

Also wir machen ähnliches um alle Zeiten aus den Aufgaben an einem Change anzeigen zu können. Es ist etwas seltsam, da das eine N:M-Beziehung ist, aber wenn man im Unternehmen vorgibt, dass jeder Task nur zu einem Change verknüpft sein darf klappt es.
Schau mal in der ActivityClassBase, da gibt es was mit "UsedInSVMChange" - und damit findest Du die Tabelle, in der es Timestamp und 2 IDs gibt - Task zu Change halt.
Willst Du das per SQL Report oder ASQL abbilden?

mhertle
Posts: 6
Joined: 04. Feb 2016, 16:38
Contact:

Re: SQL Query

Post by mhertle » 24. Mar 2016, 07:40

danke für deine Antwort. Ich verstehe sie nur leider nicht. Wie sollte die Tabelle heißen in der ich die Verknüpfung finde?

jmaku
Posts: 168
Joined: 05. Oct 2015, 14:24
Contact:

Re: SQL Query

Post by jmaku » 24. Mar 2016, 08:41

Du brauchst eine der Schema-Relation-Tabellen. Schau mal hier als Beispiel, das ermittelt die Zeit von Change+verwandten Tasks:

Code: Select all

SELECT 
	  acb.TicketNumber
      ,isnull(sum(ACTime.[Minutes]),0)  + 
	  (
		SELECT 
			Sum(RelACTime.[Minutes]) as SumRelTime 
			--,RelTask.TicketNumber as RelTask
			FROM SPSActivityClassBase RelACB
			left join [SPSActivityClassTimeTracking] RelACTime on RelACB.[Expression-ObjectID]=RelACTime.[Expression-ObjectID]
			left join [SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] COM2ACB on COM2ACB.ConfigurationItems = RelACB.ID
			left join SPSCommonClassBase CFGType	on CFGType.[ID] =COM2ACB.Tasks 
			left join SPSActivityClassBase RelTask on CFGType.UsedInType = RelTask.[Expression-ObjectID]
			where ACB.TicketNumber = RelTask.TicketNumber
			--group by  RelTask.TicketNumber
		)  as GesamtZeit
FROM SPSActivityClassBase ACB
	left join [SPSActivityClassTimeTracking] ACTime on ACB.[Expression-ObjectID]=ACTime.[Expression-ObjectID]

where TicketNumber like 'CHN%'
group by ACB.TicketNumber
Und das hier liefert mir die Zeiteinträge mit der Info zum related Ticket...

Code: Select all

SELECT 
	  ACB.[Subject]
	  ,acb.TicketNumber
	  ,ACBSecRole.Name as ResponsibleRole
	  ,acbserv.Name as ServiceName
	  ,ACBCost.Name as CostcenterName
      ,ACTime.[Minutes]
      ,ACTime.[CreatedDate]
      ,ACTime.[End]
      ,ACTime.[Begin]
      ,RelTask.TicketNumber as relTicketNo
      ,RelTask.Subject
      
  FROM [M42Production].[dbo].[SPSActivityClassTimeTracking] ACTime
  left join SPSActivityClassBase ACB on ACB.[Expression-ObjectID]=ACTime.[Expression-ObjectID]
  left join SVMActivityPickupActivityType ACTType on ACTType.Value=ACTime.ActivityType
  left join SPSUserClassBase UCB on ucb.ID = ACTime.[User]
  left join SPSAccountClassBase ACCB on ucb.PrimaryAccount = ACCB.ID
  left join SPSCommonClassBase ACBCOMM on ACBCOMM.[Expression-ObjectID] = ACB.[Expression-ObjectID]
  left join SPSCostCenterClassBase ACBCost on ACBCost.ID = ACBCOMM.CostCenter
  left join SPSScRoleClassBase ACBRole on ACBRole.ID = acb.RecipientRole
  left join SPSSecurityClassRole ACBSecRole on ACBSecRole.[Expression-ObjectID] = ACBRole.UsedInTypeSPSSecurityTypeRole
  left join SPSArticleClassBase ACBServ	on ACBServ.ID = ACB.[Service]
  left join [SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] COM2ACB on COM2ACB.ConfigurationItems = acb.ID
  left join SPSCommonClassBase CFGType	on CFGType.[ID] =COM2ACB.Tasks 
  left join SPSActivityClassBase RelTask on CFGType.UsedInType = RelTask.[Expression-ObjectID]
Sind jetzt größere Abfragen, ich hab grad keine Zeit, da was kleineres draus zu bauen.

Post Reply

Return to “Customizing und Reporting”

Who is online

Users browsing this forum: No registered users and 2 guests