我在编写SELECT SQL语句时遇到了以下问题,不知道是否有人可以帮助我。我有以下带有ProductID和Status字段的表:
| 产品ID|现况|
| - ------|- ------|
| AP56546||
| AP56546|已装运|
| AP56546||
| 模数转换器AD 92402|延迟|
| 模数转换器AD 92402||
| 模数转换器AD 92402||
| 贝伊91455||
| 贝伊91455||
| SL19423||
| SL19423||
| SL19423||
| SL19423|预期|
如果具有相同ID的所有产品中有一个产品具有状态,如何填充这些产品的状态?如果某个产品不存在状态,则它可以保持为空。如何使用SELECT语句执行此操作?预期结果应如下所示(ProductID BE 91455仍为空,因为它所在的任何行都没有状态)
| 产品ID|现况|
| - ------|- ------|
| AP56546|已装运|
| AP56546|已装运|
| AP56546|已装运|
| 模数转换器AD 92402|延迟|
| 模数转换器AD 92402|延迟|
| 模数转换器AD 92402|延迟|
| 贝伊91455||
| 贝伊91455||
| SL19423|预期|
| SL19423|预期|
| SL19423|预期|
| SL19423|预期|
谢谢
2条答案
按热度按时间s2j5cfk01#
下面使用按ProductId分区的
max
的代码应该可以满足您的需要:t3psigkw2#
您可以使用以下查询获得所需的结果:
样表
示例数据
查询