i have supertype-subtype:
supertype: document
subtype: clearance, sedula

this query:

SELECT Document.DocNo, 
          (Person.Givenname + SPACE(1) + Person.Middlename + SPACE(1) + Person.Lastname) AS Name,
          Person.Address, 
          CASE WHEN DATEADD(YEAR, DATEDIFF (YEAR, Person.DOB, CURRENT_TIMESTAMP), Person.DOB) > CURRENT_TIMESTAMP
               THEN DATEDIFF(YEAR, Person.DOB, CURRENT_TIMESTAMP) - 1
               ELSE DATEDIFF(YEAR, Person.DOB, CURRENT_TIMESTAMP) 
          END AS 'Age',
          Person.Status, Person.Picture, Person.Citizenship,
          Clearance.Findings, Clearance.Purpose,
          Sedula.CTCNo, Document.PlaceIssued, Document.DateIssued AS CTCDIssued,
		  Receipt.ORno, Receipt.Amount, Receipt.DateIssued AS ReceiptDIssued,
		  (Officer.Givenname + SPACE(1) + Officer.Middlename + SPACE(1) + Officer.Lastname) AS Officer
		  FROM Document
			INNER JOIN CLEARANCE ON CLEARANCE.DocID = DOCUMENT.DocNo 
			INNER JOIN Receipt ON Receipt.DocID = DOCUMENT.ORNo
			LEFT OUTER JOIN Sedula ON Sedula.DocID = Clearance.CTCNo
			INNER JOIN Officer ON Officer.OfficerID = Document.OfficerID 
			INNER JOIN Person ON Person.PersonID = Document.PersonID

joins document>clearance and document>sedula

however, this line:

Document.PlaceIssued, Document.DateIssued AS CTCDIssued,

should display the PlaceIssued and DateIssued field of the document>sedula. but i returns the PlaceIssued and DateIssued field of the document>clearance instead.

any thoughts bout this?

this is my database

CREATE DATABASE Lias
GO
USE Lias
Go
CREATE TABLE Person (
	PersonID INT IDENTITY(1,1) CONSTRAINT pk_pid PRIMARY KEY,
	Lastname VARCHAR(20) NOT NULL,
	Givenname VARCHAR(25) NOT NULL,
	Middlename VARCHAR(20) NOT NULL,
	[Address] VARCHAR(50) NOT NULL,
	[Status] VARCHAR(20) NOT NULL,
	Citizenship VARCHAR(20) NOT NULL,
	DOB DATETIME NOT NULL,
	POB VARCHAR(50) NOT NULL,
	Height INT NOT NULL,
	[Weight] INT NOT NULL,
	Business VARCHAR(50) NULL,
	Profession VARCHAR(50) NULL,
	Occupation VARCHAR(50) NULL,
	Picture	IMAGE )
GO		
CREATE TABLE Receipt (
	ORno INT IDENTITY(1,1) CONSTRAINT pk_orno PRIMARY KEY,
	FACode VARCHAR(50) NOT NULL,
	Amount INT NOT NULL,
	Nature VARCHAR(50) NOT NULL,
	PaymentType VARCHAR(30) NOT NULL,
	DateIssued DATETIME NOT NULL )
GO			
CREATE TABLE Officer (
	OfficerID INT IDENTITY(1,1) CONSTRAINT pk_officerid PRIMARY KEY,
	Lastname VARCHAR(20) NOT NULL,
	Givenname VARCHAR(25) NOT NULL,
	Middlename VARCHAR(20) NOT NULL )
GO	
CREATE TABLE Clearance (
	DocID INT CONSTRAINT pk_Cid PRIMARY KEY,
	Findings VARCHAR(200) NOT NULL,
	Purpose VARCHAR(200) NOT NULL )
GO
CREATE TABLE Sedula (
	DocID INT CONSTRAINT pk_Sid PRIMARY KEY,
	CTCNo INT NOT NULL,
	TIN VARCHAR NULL,
	OwnerEarning INT NULL,
	EmployeeEarning INT NULL,
	RPIncome INT NULL )
GO
CREATE TABLE  BClearance (
	DocID INT CONSTRAINT pk_BCid PRIMARY KEY,
	BName VARCHAR(50) NOT NULL,
	[Address] VARCHAR(50) NOT NULL,
	Position VARCHAR(50) NOT NULL )
GO		
CREATE TABLE ABClearance (
	DocID INT CONSTRAINT pk_ABCid PRIMARY KEY,
	BName VARCHAR(50) NOT NULL,
	[Address] VARCHAR(50) NOT NULL,
	GrossSales INT NOT NULL,
	Capital INT NOT NULL,
	Renew BIT NOT NULL,
	Conform BIT,
	Rules BIT,
	NotBanned BIT,
	NoObjection BIT )
GO
CREATE TABLE Document (
	DocNo INT IDENTITY(1,1) CONSTRAINT pk_docno PRIMARY KEY,
	PersonID INT CONSTRAINT fk_pid references Person(PersonID),
	Orno INT CONSTRAINT fk_orno references Receipt(ORno),
	OfficerID INT CONSTRAINT fk_officerid references Officer(OfficerID),
	DateIssued DATETIME NOT NULL,
	PlaceIssued VARCHAR(50) NOT NULL )
GO												
ALTER TABLE Clearance ADD CONSTRAINT fk_Cid FOREIGN KEY(DocID) REFERENCES Document(DocNo)
GO				
ALTER TABLE sedula ADD CONSTRAINT fk_Sid FOREIGN KEY(DocID) REFERENCES Document(DocNo)
GO						
ALTER TABLE BClearance ADD CONSTRAINT fk_BCid FOREIGN KEY(DocID) REFERENCES Document(DocNo)
GO
ALTER TABLE ABClearance ADD CONSTRAINT fk_ABCid FOREIGN KEY(DocID) REFERENCES Document(DocNo)
GO
ALTER TABLE Receipt ADD DocID INT FOREIGN KEY REFERENCES Document(DocNo)
GO
ALTER TABLE Clearance ADD CTCNo INT FOREIGN KEY REFERENCES Sedula(DocID)

Make a left outer join between Document and Clearance ,Document and Sedula.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.