2012-04-21 8 views
0

私は商品タブレットを持っています。 subcatidとdesigneridのような2つのフィールドがあり、それぞれSubcategoriesテーブルとDesignersテーブルから来ています。 Webサイト(ASP.NET C#)管理者は、designeridまたはsubcatidのいずれか、またはその両方を選択することによって、CouponCodesテーブルに何らかの種類のクーポンコードを挿入できます。これは、その製品のdesigneridフィールドまたはsubcatidフィールドまたはその両方がCouponCodesテーブル内にある場合、特定の製品をより安価に販売できることを意味します。プロダクトは必ずしもデザイナーIDまたはサブキャットIDを持っているとは限りません。プロダクトが入力されると、管理者は「N/A」を入力することができます。 N/Aは、それぞれのテーブルに27のdesigneridと9のsubcatidを持っています。おそらく最高のデータベース設計ではないでしょう。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')) 

答えて

0

あなたはwhereを2回入力すると、構文エラーが発生します。あなたがしたいことは、

select * from couponcodes 
where (couponcodes.subcatid in 
(select subcatid from Products where Products.prodid = 1012) 
AND (couponcodes.couponcode = '5braceLets')) 
OR 
(couponcodes.designerid in 
(select designerid from Products where Products.prodid = 1012) 
AND (couponcodes.couponcode = '5dora')) 
+0

です。私はそれを試してみましょう... – IrfanClemson

+0

大丈夫、構文が動作します。 couponcodesテーブルのexpirationdateフィールドをもっと調べてみましょう... – IrfanClemson

+0

私は、次のものを追加して有効期限を計算しました:AND couponcodes.expirationdate> GetDATE();あなたの答えはうまくいくと思います。どうもありがとうございました!私はあなたのことをすぐにAnsweredとしてマークします... – IrfanClemson

関連する問題