My best guess:
var query = from c in ciqCompany
join s in ciqSecurity on c.companyId equals s.companyId
join ti in ciqTradingItem on ti.securityId equals s.securityId
join e in ciqExchange on e.exchangeId equals ti.exchangeId
join fp in ciqLatestInstanceFinPeriod on fp.companyId equals c.companyId
join pt in ciqPeriodType on pt.periodTypeId equals fp.periodTypeId
join fd in ciqFinancialData on fd.financialperiodid equals fp.financialperiodid
join di in ciqdataitem on di.dataitemid equals fd.dataitemi
where fd.dataItemId == 3069 && fp.periodTypeId = 1 && fp.fiscalyear >= DateTime.Today.AddYears(-5) && fp.fiscalyear <= DateTime.Today && ti.tickerSymbol = 'ibm' && e.exchangeSymbol = 'Nyse'
select new {
c.companyName,
c.companyId,
ti.tickerSymbol,
e.exchangeSymbol,
pt.periodTypeName,
fp.fiscalYear,
fd.dataItemId,
di.dataItemName,
fd.dataItemValue
};
For further information, please see:
join clause (C# Reference)[
^]
101 LINQ Samples[
^]