У меня есть таблетка продуктов; в том, что есть пара полей, таких как subcatid и designerid, которые поступают из таблиц подкатегорий и дизайнеров соответственно. Администратор веб-сайта (ASP.NET C#) может вставлять какие-то купонные коды в таблицу CouponCodes, выбирая либо конструктор, либо subcatid, либо и то, и другое. Это означает, что конкретный продукт можно продавать дешевле, если в таблице CouponCodes находится либо конструктор, либо подтациевые поля, либо оба для этого продукта. Обратите внимание, что у продукта необязательно есть конструктор или подкатад: администратор может ввести «N/A» для того, чтобы либо вводить Продукт; N/A имеет конструктор из 27 и субтип из 9 в своих соответствующих таблицах. Вероятно, это не лучший дизайн базы данных.sql server: выберите либо условия, используя предложение OR?
В любом случае, вот мой код в SSMS; когда я пытаюсь выполнить его, я получаю ошибку синтаксиса. Как реализовать sql? Благодаря!
select * from couponcodes
where (couponcodes.subcatid in
(select subcatid from Products where Products.prodid = 1012)
AND (couponcodes.couponcode = '5braceLets'))
OR
Where (couponcodes.designerid in
(select designerid from Products where Products.prodid = 1012)
AND (couponcodes.couponcode = '5dora'))
О, позвольте мне попробовать ... – IrfanClemson
ОК, синтаксис работает. позвольте мне проверить другое поле - поле expirationdate в таблице купонных кодов ... – IrfanClemson
Я выяснил дату истечения срока действия, добавив: AND couponcodes.expirationdate> GetDATE(); Я думаю, что ваш ответ будет работать. Большое спасибо! Я буду отмечать, что вы так же ответили ... – IrfanClemson