Вам необходимо использовать правильный (inner
| left
| ...) синтаксис соединения.
Что-то вроде:
select
t.id,
c.NameEn,
t.createdDate,
m.Name,
m.IdNo,
m.Email,
m.MobileNo
from
[Transactions] t
inner join [Campaign] c on c.id = t.CampaignId
inner join [Members] m on m.id = t.MemberId
Кроме того, в вашем исходном коде, один из
select NameEn from [Campaign] where id=CampaignId
или
select Name,IdNo,Email,MobileNo from [Members] where id=MemberId
может возвращать более одной строки для каждой строки [Transactions]
, что было бы недопустимым.