回答

收藏

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

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

有两个表Client和Stock:
2 y: ?+ o1 g) x/ @$ ~$ ^8 a+ PTable Client9 r/ s9 [& A, T9 ?- H
    Column IDC       (primary key, int, not null)
( @. b' {% y2 l4 n1 R( t4 STable Stock/ a0 U( U( o8 Z3 z+ r' h: O+ T
    Column IDS       (primary key, int, not null)
9 t' I* r5 g& u9 I! G/ j! ?8 H. ?    Column IDC       (int, not null)0 f  }6 T: k7 L0 m
    Column Type      (bit, not null)4 i( n4 F* c6 |  g# [" x
    Column Price     (decimal(10,2), null)
6 I  D' h  D! `# G: X/ x$ O$ c它们应被视为由连接Client.IDC = Stock.IDC。
) Y+ a* a: P. }1 G1 l( uIDC通过Type = 1和获得客户Price not6 X# W9 a  b" ]- P3 R3 F
NULL是微不足道的。但是,获得剩余的清单对我来说并不简单IDC。以下尝试未提供正确的清单IDC:
. g! j# |5 t( n. K' J6 n* Y3 L: LSELECT [Client].[IDC]" L: B4 q* T8 E7 V6 j
FROM [Client] LFEFT JOIN [Stock] on [Client].[IDC] = [Stock].[IDC]
1 g* A+ y( J7 S  K# w+ @WHERE NOT([Stock].[Type] = 1 AND [Stock].[Price] IS NOT NULL)
9 R# z7 g2 W; ^4 K- n( |0 L/ _该语句返回一些IDC应该排除的值,因为对于它们来说,确实存在Type = 0与Type = 1和的行,但还有与和的其他行Price not
) K/ b7 E: w7 UNULL。我应该如何着手获得IDC不具有一行Type = 1,并Price not NULL在所有?
" s" Y4 j; R9 {               
. p  L/ o1 y- G解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则