sql语句查询商品价格,如果有活动打折就查询打折后的,没有活动的商品则显示原价
时间: 2024-02-26 17:57:03 浏览: 29
您好,针对您的问题,可以使用以下 SQL 语句查询商品价格:
```
SELECT
product_id,
product_name,
CASE
WHEN discount_price IS NULL THEN original_price
ELSE discount_price
END AS price
FROM
products
LEFT JOIN
promotions
ON
products.product_id = promotions.product_id
AND promotions.start_date <= NOW()
AND promotions.end_date >= NOW()
```
上述 SQL 语句中,我们通过左连接(LEFT JOIN)将商品表(products)与促销活动表(promotions)关联起来,判断当前时间是否在活动时间范围内,并查询出打折后的价格(discount_price),如果没有活动,则显示商品的原价(original_price)。最后,使用 CASE WHEN 语句对价格进行判断和处理,最终得到需要的查询结果。
相关问题
SQL语句查询近半年所有的月份如果没有数据只显示月份
好的,以下是查询近半年所有月份的 SQL 语句,如果某个月份没有数据,则只显示月份:
```
WITH months AS (
SELECT 1 AS month_number
UNION ALL
SELECT month_number + 1
FROM months
WHERE month_number < 12
)
SELECT months.month_number AS month, COALESCE(SUM(data_column), 0) AS data_sum
FROM months
LEFT JOIN table_name ON months.month_number = MONTH(date_column)
AND date_column >= DATEADD(month, -6, GETDATE())
GROUP BY months.month_number
ORDER BY months.month_number DESC
```
其中 `table_name` 是表名,`data_column` 是存储数据的列名,上述 SQL 语句使用了递归公共表表达式 `months` 生成了近半年所有的月份。然后使用了左外连接(`LEFT JOIN`)将月份和数据表连接起来,`COALESCE` 函数用于处理某个月份没有数据的情况,返回 0。最后按照月份倒序排列。
sql语句查询表中前十的商品
在SQL中,如果你想要查询表中商品的前10条数据,通常你会使用`SELECT`语句结合`LIMIT`关键字。假设你有一个名为`products`的表,其中包含`product_name`和`product_id`等字段,你可以这样写:
```sql
SELECT product_name, product_id
FROM products
ORDER BY product_id DESC
LIMIT 10;
```
这个查询会返回按照`product_id`(假设这是默认的排序字段)降序排列的前10个商品名和商品ID。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)