回答

收藏

SQL Server-删除组中带有NULL的结果

技术问答 技术问答 229 人阅读 | 0 人回复 | 2023-09-12

不确定标题是否正确,但我不确定怎么写。我有一张表格,circumstances我需要根据circumstances给定的输入数据组显示了一些问题。5 T9 ?- k3 N- e3 P
如下所示:
- [- c1 h" e% u( f: \8 F7 c" G----------------------------------------------------| CircumstanceTypeGiven | CircumstanceValueGiven |----------------------------------------------------|      Equipment        |           X            |----------------------------------------------------|      Customer         |        BEEFORE         |----------------------------------------------------我的CircumstanceMaster桌子看起来像这样:
& Q5 r) r: |5 z2 O* C--------------------------------------------------| ID | CircumstanceType  |  GroupID  |  Value    |--------------------------------------------------| 1  |    Equipment      |                                              |  Reefer   |--------------------------------------------------| 2  |    Customer       |                                              |  BEEFOR   |--------------------------------------------------然后,我得到了一个包含这样组问题的表格ID:
% }( H2 D' L: \6 C' K" x: V--------------------------------------------------| ID | CircumstanceGroupID  |    QuestionID      |--------------------------------------------------| 1  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |--------------------------------------------------我的问题表:- q) S/ [. h+ W/ m
--------------------------------------------------| ID | Question                                  |--------------------------------------------------| 1  |  This is my question for Reefer & BEEFOR  |--------------------------------------------------所以,我得到了 X    设备类型及 BEEFOR    客户价值。我的情况表说,如果我通过 reefer        BEEFORE* T9 l4 Z% m' V* m
,所以我需要得到1的问题groupID。但是,如果只输入1(我给出的),我不想要这些问题。/ r% I+ @5 X: e5 N. x
这是SQL:& q; F0 ~" F& U/ A. A
CREATE TABLE CircumstanceMaster(    CircumstanceID INT NOT NULL PRIMARY KEY IDENTITY    CircumstanceGroupID INT NOT NULL,   CircumstanceType INT NOT NULL,   CircumstanceValue VARCHAR(MAX) NOT NULL)INSERT INTO CircumstanceMaster ( CircumstanceType,CircumstanceGroupID,CircumstanceValue ) VALUES R' )INSERT INTO CircumstanceMaster ( CircumstanceType,CircumstanceGroupID, CircumstanceValue ) VALUES ( 2,1,'DEEFOR' )CREATE TABLE QuestionMaster(    QuestionID INT NOT NULL PRIMARY KEY IDENTITY    Question VARCHAR(MAX) NOT NULL)INSERT INTO QuestionMaster ( Question ) VALUES ( 'Reefer & DEEFOR question' )CREATE TABLE CircumstanceQuestion(    ID INT NOT NULL PRIMARY KEY IDENTITY    CircumstanceGroupID INT NOT NULL,   QuestionID INT NOT NULL)INSERT INTO CircumstanceQuestion ( CircumstanceGroupID,QuestionID  ) VALUES ( 1,1 )declare @given Table(CircumstanceTypeGivenID INT,CircumstanceValueGiven varchar(50))insert into @given(CircumstanceTypeGivenID,CircumstanceValueGiven) VALUES ( 1,'X')insert into @given(CircumstanceTypeGivenID,CircumstanceValueGiven) VALUES ( 2,'DEEFOR')select *from CircumstanceMaster cm    left outer join @given g on cm.CircumstanceType=g.CircumstanceTypeGivenID and cm.CircumstanceValue=g.CircumstanceValueGiven当我加入circumstancemaster我在餐桌上得到了这个结果。我想得到结果,但我需要一种方式说:如果SAME组内任何行都有空值,请不要返回任何内容:
" V6 @) l/ p9 G; w% h# A----------------------------------------------------------------| CircumstanceID | CircumstanceGroupID  | CircumstanceValueGiven|----------------------------------------------------------------|                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                            |         NULL          |----------------------------------------------------------------|       2        |                                                                                                                                                                                                                                                                                                                                                                                                            |        BEEFOR         | ----------------------------------------------------------------                6 m5 p/ W" P: q0 z9 S+ }+ D
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则