我有一个SQL问题,这可能是一些基本的,但令我感到困惑.
以下是表'Person'的列名称示例:PersonalID,FirstName,LastName,Car,HairColour,FavDrink,FavFood
假设我输入了一行:
121312,Rayna,Pieterson,BMW123d,Brown,NULL,NULL
现在我想更新此人的值,但仅当新值不为null时,更新:
121312,Rayna,Pieterson,NULL,Blonde,Fanta,NULL
新行必须是:
121312,Rayna,Pieterson,BMW123d,Blonde,Fanta,NULL
所以我想的是:
更新人(PersonalID,名字,姓氏,租车,染发,FavDrink,FavFood)设置汽车= @Car(其中@Car不为空),染发= @HairColour(其中@HairColour ...)...等等.
我唯一担心的是我无法在查询结束时对所有条件进行分组,因为它将要求所有值具有相同的条件.如果@HairColour不是Null,我不能像Update HairColour那样做
进一步澄清这个问题......
我有以下表ORDERS_TAB和一些示例信息:
|Order| Launch_Date |
| 1 | 27-Sep-11 |
| 2 | 29-Sep-11 |
| 3 | 30-Sep-11 |
| 4 | 03-Oct-11 |
| 5 | 28-Oct-11 |
| 8 | 10-Oct-11 |
| 7 | 29-Sep-11 |
Run Code Online (Sandbox Code Playgroud)
我想在接下来的三个可用日期内(包括当天)选择所有具有LAUNCH_DATE值的订单.因此,如今今天是29日至9月11日,表中的三个可用日期将是9月29日至9月30日,9月30日至11日以及03年10月3日.因此查询将返回结果:
|Order| Launch_Date |
| 2 | 29-Sep-11 |
| 3 | 30-Sep-11 |
| 4 | 03-Oct-11 |
| 7 | 29-Sep-11 |
Run Code Online (Sandbox Code Playgroud)
所以我假设我需要检查系统中的当前日期,搜索这个日期或下一个可用的日期,然后找到接下来的两个可用日期..问题是我不知道如何做到这一点!
我正在寻找的是一个简单的SELECT语句,但有一些条件但是我们非常感谢任何帮助,
谢谢.:)