The table definition is:
CREATE TABLE CustomerSegment
(
Code INT PRIMARY KEY,
rowguidUNIQUEIDENTIFIER DEFAULT(NEWID())
)
CREATE TABLE Person
(
Code INT PRIMARY KEY,
CustomerSegment INT REFERENCES [dbo].[CustomerSegment]([Code]),
rowguidUNIQUEIDENTIFIER DEFAULT(NEWID())
)
CREATE TABLE CustomerCreditD
(
CustomerSegment INT REFERENCES [dbo].[CustomerSegment]([Code]),
rowguidUNIQUEIDENTIFIER PRIMARY KEY DEFAULT(NEWID())
)
CREATE TABLE CustomerCreditException
(
Person INT REFERENCES [dbo].[Person]([Code]),
rowguidUNIQUEIDENTIFIER PRIMARY KEY DEFAULT(NEWID())
)
INSERT INTO [dbo].[CustomerSegment]
([Code])
VALUES(100)
INSERT INTO [dbo].[Person]
([Code],[CustomerSegment])
VALUES(22122738, 100)
INSERT INTO [dbo].[CustomerCreditException]
([Person])
VALUES(22122738)
no result for query 1:
SELECTdbo.Person.Code
FROMdbo.Person
LEFT OUTER JOIN dbo.CustomerSegment ON dbo.Person.CustomerSegment = dbo.CustomerSegment.Code
INNER JOIN dbo.CustomerCreditD ON dbo.CustomerSegment.Code = dbo.CustomerCreditD.CustomerSegment
LEFT OUTER JOIN dbo.CustomerCreditException ON dbo.CustomerCreditException.Person = dbo.Person.Code
WHERE(dbo.Person.Code = 22122738)
but result for query 2:
SELECT dbo.Person.Code
FROM dbo.CustomerCreditD INNER JOIN
dbo.CustomerSegment ON dbo.CustomerCreditD.CustomerSegment = dbo.CustomerSegment.Code RIGHT OUTER JOIN
dbo.Person LEFT OUTER JOIN
dbo.CustomerCreditException ON dbo.CustomerCreditException.Person = dbo.Person.Code ON dbo.CustomerSegment.Code = dbo.Person.CustomerSegment
WHERE (dbo.Person.Code = 22122738)