0

I have 2 queries those are as follows:

SELECT brt.RequestTypeID, brt.RequestTypeName, brs.RequestStepName AS PreviousStep 
FROM b_Steps bs
INNER JOIN b_RequestStep brs ON bs.RequestStepID = brs.RequestStepID 
INNER JOIN b_RequestType brt ON bs.RequestTypeID = brt.RequestTypeID

And the second one:

SELECT brt.RequestTypeID, brt.RequestTypeName, brs.RequestStepName AS NextStep 
FROM b_Steps bs 
INNER JOIN b_RequestStep brs ON bs.NextStepID = brs.RequestStepID 
INNER JOIN b_RequestType brt ON bs.RequestTypeID = brt.RequestTypeID

How would I combine 2 queries and return result like this:

| RequestTypeName | PreviousStep | NextStep      |
|------------------------------------------------|
| Buy good        | Login        | Add into cart |

2 Answers2

0

try this out

select a.RequestTypeName, a.PreviousStep, b.NextStep
from
(SELECT brt.RequestTypeID, brt.RequestTypeName, brs.RequestStepName AS PreviousStep 
FROM b_Steps bs 
INNER JOIN b_RequestStep brs ON bs.RequestStepID = brs.RequestStepID 
INNER JOIN b_RequestType brt ON bs.RequestTypeID = brt.RequestTypeID) as a
inner join 
(SELECT brt.RequestTypeID, brt.RequestTypeName, brs.RequestStepName AS NextStep 
FROM b_Steps bs 
INNER JOIN b_RequestStep brs ON bs.NextStepID = brs.RequestStepID 
INNER JOIN b_RequestType brt ON bs.RequestTypeID = brt.RequestTypeID) as b
on a.RequestTypeID = b.RequestTypeID
PK20
  • 1,066
  • 8
  • 19
0

seams to be an easy one but maybe i miss something:

SELECT brt.RequestTypeID, brt.RequestTypeName
,      brsp.RequestStepName AS PreviousStep 
,      brsn.RequestStepName AS NextStep 
FROM b_Steps bs
INNER JOIN b_RequestType brt ON bs.RequestTypeID = brt.RequestTypeID
LEFT JOIN b_RequestStep brsp ON bs.RequestStepID = brsp.RequestStepID 
LEFT JOIN b_RequestStep brsn ON bs.NextStepID = brsn.RequestStepID 

i don't know if you have steps without a previous one or a next one, i used a left join in both cases.

A ツ
  • 1,267
  • 2
  • 9
  • 14