select LSD.lsd,count(reading.infrastructure.id),infratype.infrastructureType from cpreading$LSD LSD join cpreading$Infrastructure infra
left join cpreading$InfrastructureType infratype
left join cpreading$CPReadingEntry reading where LSD.id = infra.lsd.id and infratype.id = infra.infrastructureType.id and infra.id = reading.infrastructure.id
group by LSD.lsd,infratype.infrastructureType
By using this query I am getting output as
[01-20]01-20-39-7W5 2 Casing
78 1 Casing
But I want to get excepted result as
78 1 Casing
[01-20]01-20-38-7W5 0 Rectifier
[01-20]01-20-39-7W5 2 Casing
[01-20]01-20-38-7W5 0 PipeLine
select LSD.lsd,count(reading.infrastructure.id),infratype.infrastructureType from cpreading$LSD LSD join cpreading$Infrastructure infra join cpreading$InfrastructureType infratype left join cpreading$CPReadingEntry reading where LSD.id = infra.lsd.id and infratype.id = infra.infrastructureType.id and infra.id = reading.infrastructure.id and reading.infrastructure.id is NULL
group by LSD.lsd,infratype.infrastructureType
By using this query I am getting output as
[01-20]01-20-39-7W5 2 Casing
78 1 Casing
But I want to get excepted result as
78 1 Casing
[01-20]01-20-38-7W5 0 Rectifier
[01-20]01-20-39-7W5 2 Casing
[01-20]01-20-38-7W5 0 PipeLine
Please model your problem on entities and relations that can be understood, like customers/orders, cats/kittens, pets/vets etc.
We have no idea what your LSD or Rectifier is and it complicates understanding a lot.