0
对措辞不佳的标题抱歉,但我无法正确表达我的意思可能是为什么我找不到与Google有关的任何内容。要求只有多列中的一列不为空
简而言之,设想一种情况,即在包含图片和相关元数据的数据库中具有名为Image的表格。照片可以是客户,他们的汽车或在车上进行的特定修理。有一些称为客户,汽车和修理的表,每个表都有自己的唯一ID列。
在Image表中,有一个名为ClientID的列,一个名为CarID的列和一个名为RepairID的列,该列将每个图像记录链接到客户端,汽车和/或修理。问题是,一张图片可能与客户和汽车有关,但不涉及维修,汽车和维修,而不是客户,或者这三者中的任何一个。换句话说,在一列,两列或三列中可能存在一个值,但必须是至少一列中的一列。只要其中一个不是NULL,另外两个就可以。
有没有办法在MSSQL中使用约束(或任何其他方法)来实现这一点?
希望下面的示例图将说明我在说什么。
这看起来很简单!您是否意识到这可能会造成任何特定的性能问题? –
这几乎没有开销,这是一个微不足道的检查。 – RedFilter