Ich möchte einen inneren Join in meiner Abfrage machen, aber ich weiß nicht, wie ich meine zwei Select-Anweisungen in einer Abfrage zusammenfassen kann.Beitritt Select-Anweisungen?
Dies ist die erste Abfrage:
select
Machine
, EventDefinition
, Duration
, sum(Duration) over (partition by 1) As Total
, Duration/sum(Duration) over (partition by 1)*100 AS Distribution
,case when EventCategory < 0.05 Then 'NOT INCL' ELSE 'OK' END AS Under3Min
from (
Select
SystemName AS Machine
, EventDefinition
, EventDate
, EventStartDateTime
, IsNull(EventEndDateTime, GETDATE()) as EventEndDateTime
, Sum(cast(EventEndDateTime - EventStartDateTime as float))*24 as Duration
,Sum(case when CustomEvent = 'without Stop' then cast(EventEndDateTime - EventStartDateTime as float)*24 else 0 end) as EventCategory
FROM tDataCategory
WHERE EventDate >= @StartDateTime
AND EventDate <= @EndDateTime
AND SystemName = '201'
Group BY SystemName, eventdefinition, eventstartdatetime, eventenddatetime, EventDefinition, EventDate, CustomEvent
) as t
WHERE CustomEvent <> 'without Stop'
OR (CustomEvent = 'without Stop' AND t.EventCategory >=0.05)
group by EventDefinition
, Duration
,Machine
,EventCategory
Ausgabe: und meine zweite Abfrage:
SELECT DataValue = case when Prod = 0 then 0 else ISNULL(100.0/Prod * Scrap, 0) end,
Value = GoodUnits/TheoreticalUnits *100,
FROM (
Select intervaldate as DateValue, intervalDateWeek as Datum, tsystem.Name as Name, ProductName as Product, teamname as Team,
SUM(case when IssueName in ('A1', 'A2') then calculationUnitsInitial else 0 end) as Scrap,
Sum(case when IssueName = 'Prod' then calculationUnitsInitial else 0 end) as Prod,
SUM(GoodUnits)
As GoodUnits,
SUM(TheoreticalUnits) As TheoreticalUnits,
from tCount inner join tsystem ON tCount.systemid = tsystem.id
where IntervalDate >= dateadd(wk, datediff(wk, 1, getdate()), 0)
and IntervalDate <= dateadd(wk, datediff(wk, 0, getdate()), 0)
AND ((DATEPART(dw, IntervalDate) + @@DATEFIRST) % 7) NOT IN (0,1)
and tsystem.Name = '201'
group by intervaldate, tsystem.Name, intervaldateweek, ProductName, teamname
) as s
versuchte ich es in meiner Anfrage hinzufügen zwei Select-Anweisungen. Aber wenn ich das tue, ist die Ausgabe falsch. Ich weiß wirklich nicht, wie ich mich diesen zwei Fragen anschließen sollte.
Ich möchte dann diese Berechnung tun: Distribution * (1 - Value)
Distribution
von der ersten Abfrage und Value
von der zweiten Abfrage
Wir wissen noch weniger, was Sie wollen ... Desc ribe Ausgabe von aktuellen Abfragen und das erwartete kombinierte Ergebnis. – jarlh
@jarlh: Ich habe meine Frage bearbeitet –
Hat Ihre zweite Abfrage nur eine Zeile zurückgegeben – StackUser