需要帮助才能使用IF THEN语句编写SQL查询

时间:2017-03-20 02:01:34

标签: sql-server

我在学校学习SQL,并且对特定查询感到难过。我们正在使用AdventureWorks2014数据库,问题是: “营销部门想知道Road-650自行车目前是否有超过10种款式。使用产品表,使用IF THEN逻辑创建一个声明来触发是否有多于或少于10个Road-650自行车单元可用。提交语句和查询结果。“

我为自行车找到了30的ProductModelID,我可以看到有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';

2 个答案:

答案 0 :(得分:0)

这是盲人的帮助

如果你是新的,基本上,IF ELSE语句是这样的(无处不在)

IF(条件)

然后(真实陈述)

ELSE(虚假陈述)

END IF

在询问之前尝试谷歌一些。人们会欣赏你的努力,而不仅仅是随意提问而不进行研究。

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

祝你好运

答案 1 :(得分: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