Пример с таблицами:
Акция (idPromo, nameUser)
Компания (idCompany, nameCompany)
ПромоКомпания (idPromo, idCompany)
Iпопробуйте получить только один запрос, все рекламные акции, в которых есть компания (например, idCompany = 1) ИЛИ, в которых есть 0 компании.
Для описания: PromoCompany - это таблица ограничений ... если существуют данные для рекламной акции, продвижение действует только для этих компаний, если нет данных, продвижение действительно для всех компаний.
Пример:
Promo[{
idPromo:1
namePromo:"promo test"
},
{
idPromo:2
namePromo:"promo test 2"
}]
Company[{
idCompany:10
nameCompany:"CompanyPloof"
},{
idCompany:12
nameCompany:"CompanyPaf"
}
]
PromoCompany[{
idPromo:1
idCompany:10
},{
idPromo:1
idCompany:12
}
]
Если моей компанией является CompanyPloof, то рекламные акции - idPromo 1 и 2 * 1016.*
Если моей компанией является CompanyPaf, промо-акции будут idPromo 2 (потому что не ограничены)