首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略列中的空值。枢轴和不枢轴

忽略列中的空值。枢轴和不枢轴
EN

Database Administration用户
提问于 2020-03-08 06:01:07
回答 2查看 660关注 0票数 -1

我有下面的数据格式

我正在寻找下面的数据格式

我尝试了所有选项,但无法达到以下结果。

查询:

代码语言:javascript
复制
      create table dbo.FS_Daily_HSE_SAPS_Audit(
  formId int default 2934,
  form_Description nvarchar(50) default 'Daily_HSE_SAPS_Audit',
  submittedFormId int default 63917,
  actions nvarchar(30),
  Avalue nvarchar(30),
  ObservationDescription nvarchar(50),
  ObservationValue nvarchar(50),
  isVersion int default(0)
);

插入:

代码语言:javascript
复制
insert into dbo.FS_Daily_HSE_SAPS_Audit(actions, Avalue,
  ObservationDescription, ObservationValue) values
  ('ACT/CONDITION-2', 'Condition', NULL, NULL),
  ('OBSERVATION-DESCRIPTION-2', '', NULL, NULL),
  ('SAFETY-DEFICIENCY-2', 'Act', NULL, NULL), 
  (NULL, NULL, 'OBSERVATION-DESCRIPTION-3', cast(newid() as nvarchar(50))),
  (NULL, NULL, 'ACT/CONDITION-3', cast(newid() as nvarchar(50))),
  (NULL, NULL, 'SAFETY-DEFICIENCY-3', cast(newid() as nvarchar(50)))

;


select
  a.formId, a.form_Description, a.submittedFormId, a.actions, a.Avalue,
  b.ObservationDescription, b.ObservationValue, a.isVersion
from dbo.FS_Daily_HSE_SAPS_Audit as a
inner join dbo.FS_Daily_HSE_SAPS_Audit as b
  on right(a.actions, 1) = right(b.ObservationDescription, 1);
EN

回答 2

Database Administration用户

回答已采纳

发布于 2020-03-08 08:44:02

你真的需要支点操作员吗?

1)

代码语言:javascript
复制
select
  a.formId, a.form_Description, a.submittedFormId, a.actions, a.Avalue,
  b.ObservationDescription, b.ObservationValue, a.isVersion
from dbo.FS_Daily_HSE_SAPS_Audit as a
inner join dbo.FS_Daily_HSE_SAPS_Audit as b
  on right(a.actions, 1) = right(b.ObservationDescription, 1)
;

结果:

代码语言:javascript
复制
+--------+----------------------+-----------------+-----------------+-----------+---------------------------+--------------------------------------+-----------+
| formId |   form_Description   | submittedFormId |     actions     |  Avalue   |  ObservationDescription   |           ObservationValue           | isVersion |
+--------+----------------------+-----------------+-----------------+-----------+---------------------------+--------------------------------------+-----------+
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-3 | Act       | OBSERVATION-DESCRIPTION-3 | 77C81C5F-8AFD-4FC6-975F-E1C3AA85C956 |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-4 | Condition | OBSERVATION-DESCRIPTION-4 | B80E24D5-B25F-415E-A9A7-9271A466E08F |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-2 | Condition | OBSERVATION-DESCRIPTION-2 | 85F1BB30-17AD-49D8-911F-8D5170663B34 |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-5 |           | OBSERVATION-DESCRIPTION-5 | 73226A46-3ED2-48CA-91A9-B17BCFF4E5BB |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-1 | Act       | OBSERVATION-DESCRIPTION-1 | 06B125D8-FED6-41EA-8E40-04A407A73FFC |         0 |
+--------+----------------------+-----------------+-----------------+-----------+---------------------------+--------------------------------------+-----------+

2)

代码语言:javascript
复制
select
  a.formId, a.form_Description, a.submittedFormId, a.actions, a.Avalue,
  b.ObservationDescription, b.ObservationValue, a.isVersion
from dbo.FS_Daily_HSE_SAPS_Audit as a
inner join dbo.FS_Daily_HSE_SAPS_Audit as b
  on left(a.actions, charindex('-', a.actions)) =
     left(b.ObservationDescription,
          charindex('-', b.ObservationDescription))
;

结果:

代码语言:javascript
复制
+--------+----------------------+-----------------+---------------------------+-----------+---------------------------+--------------------------------------+-----------+
| formId |   form_Description   | submittedFormId |          actions          |  Avalue   |  ObservationDescription   |           ObservationValue           | isVersion |
+--------+----------------------+-----------------+---------------------------+-----------+---------------------------+--------------------------------------+-----------+
|   2934 | Daily_HSE_SAPS_Audit |           63917 | ACT/CONDITION-2           | Condition | ACT/CONDITION-3           | 516F0218-1A71-40D0-A730-318A6E4DD1E3 |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | OBSERVATION-DESCRIPTION-2 |           | OBSERVATION-DESCRIPTION-3 | 952382B3-CCDF-4889-B8FC-86A80296CAC6 |         0 |
|   2934 | Daily_HSE_SAPS_Audit |           63917 | SAFETY-DEFICIENCY-2       | Act       | SAFETY-DEFICIENCY-3       | 7310BA10-6945-4108-92CE-90CF7F00ED21 |         0 |
+--------+----------------------+-----------------+---------------------------+-----------+---------------------------+--------------------------------------+-----------+

演示

结果表已经创建为这里

票数 1
EN

Database Administration用户

发布于 2020-03-10 20:45:55

最重要的是右()比较"where"条件。我使用了左连接函数。及其工作

代码语言:javascript
复制
 select
  a.formId, a.form_Description, a.submittedFormId, a.actions, a.Avalue,
  b.ObservationDescription, b.ObservationValue, a.isVersion
from dbo.FS_Daily_HSE_SAPS_Audit as a
inner join dbo.FS_Daily_HSE_SAPS_Audit as b
  on left(a.actions, len(a.actions)-1) =
     left(b.ObservationDescription, len(b.ObservationDescription)-1)
;
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/261454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档