2017-03-20 7 views
-1

私は学校でSQLを習得しており、特定のクエリに困惑しています。私たちはAdventureWorks2014 DBを使用していますが、質問は "Road-650自転車には現在10種類以上のスタイルがあるかどうかを知りたいと思っています。 10台以上のRoad-650自転車ユニットが利用可能であり、そのステートメントとクエリの結果を提出してください。IF THENステートメントを使用したSQLクエリの作成が必要です

私は自転車用のProductModelIDを30に設定していますが、結果は12通りありますが、質問を開始することさえ困難です。どんな助けもありがとう!ありがとう!

ここまでは私が今までに得たものですが、IF文は機能せず、エラーが発生します。

USE Adventureworks2014 

SELECT 
    COUNT(ProductModelID) AS 'Styles' 
FROM 
    Production.Product 
WHERE 
    ProductModelID = 30 
GO 

IF Styles >= 10 
    PRINT 'More than 10 styles available' 
ELSE 
    PRINT 'Less than 10 styles available'; 
+1

多分それは役立ちます**データベースの**構造を記述する**?それにはどのようなテーブルがありますか?これらのテーブルはどのように見えるのですか? ...その知識がなくても、どうやって質問を書いてくれると思いますか? –

+0

私は謝罪し、私はこれに新しいです。このデータベースは、SQL Serverのサンプルデータベースであり、多くのテーブルが多数あります。この特定のテーブルはProduction.Productテーブルであり、ProductID、Name、ProductNumberなどのいくつかの列が含まれていますが、Road-650に特有のものはそのモデルのProductModelIDです。私は、このサンプルデータベースに精通した人が助けてくれることを期待していました。 – skrypoc

+0

あなたの質問を編集してください(http://stackoverflow.com/posts/42894722/edit)。 –

答えて

0

これは盲目の男の助けである

場合youreの新しい、基本的には、ELSE文は

(どこでも)、このようなものですIF IF(条件)THEN

(真の文)

ELSE(偽りの声明)

終了IF

尋ねる前にGoogleにいくつか試してみてください。研究をせずに無作為に尋ねるだけでなく、あなたの努力に感謝します。

https://msdn.microsoft.com/en-us/library/ms182717.aspx

幸運

0

あなたは変数に数を割り当てることができます:

USE Adventureworks2014 

DECLARE @NumStyles INT 

SELECT @NumStyles = COUNT(ProductModelID) AS 'Styles' 
FROM Production.Product 
WHERE ProductModelID = 30 


IF @NumStyles >= 10 BEGIN 
    PRINT 'More than 10 styles available' 
END ELSE BEGIN 
    PRINT 'Less than 10 styles available' 
END 

それとも、if文でこれを行うことができます:

IF EXISTS (SELECT COUNT(*) 
      FROM Production.Product 
      WHERE ProductModelID = 30 
      HAVING COUNT(*) >= 10) BEGIN 
    PRINT 'More than 10 styles available' 
END ELSE BEGIN 
    PRINT 'Less than 10 styles available' 
END 
関連する問題