回答

收藏

SQL-至少排除一次满足要求的列的值

技术问答 技术问答 333 人阅读 | 0 人回复 | 2023-09-11

有两个表Client和Stock:
2 }* i1 B0 ]7 A; v) i6 CTable Client  [% A# A" u4 R+ U$ O6 E
    Column IDC       (primary key, int, not null)
( J) p2 D8 N4 C# gTable Stock
# T( I6 x7 m# K    Column IDS       (primary key, int, not null)9 y1 _1 t# C) y( A
    Column IDC       (int, not null)  N# [* u! ?: B6 a5 e' _
    Column Type      (bit, not null); n' c; B8 ]' x
    Column Price     (decimal(10,2), null)
' g! }9 e( X8 [它们应被视为由连接Client.IDC = Stock.IDC。
+ _- Q1 J& N' BIDC通过Type = 1和获得客户Price not
" U- C% G! K7 a3 H' l, XNULL是微不足道的。但是,获得剩余的清单对我来说并不简单IDC。以下尝试未提供正确的清单IDC:% W( d- t  {, v
SELECT [Client].[IDC]
  b6 O; a/ c9 B9 ~: DFROM [Client] LFEFT JOIN [Stock] on [Client].[IDC] = [Stock].[IDC]3 T7 R- j+ ^" ?5 h' t
WHERE NOT([Stock].[Type] = 1 AND [Stock].[Price] IS NOT NULL)7 E: g  t4 }% z2 ^/ b$ s
该语句返回一些IDC应该排除的值,因为对于它们来说,确实存在Type = 0与Type = 1和的行,但还有与和的其他行Price not3 c/ `0 ]# n5 s* a4 o  R3 _
NULL。我应该如何着手获得IDC不具有一行Type = 1,并Price not NULL在所有?/ Z. @8 l( c0 S% J& A5 D3 O2 e7 m  L
               
& W5 \% J2 F; A# _, u/ u+ y& J( p解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则