Mysql 外键相似时如何获取单行
我有一个关于列的表tbl_问题Mysql 外键相似时如何获取单行,mysql,sql,database,oracle,Mysql,Sql,Database,Oracle,我有一个关于列的表tbl_问题 > serial_no. Issue_no. (f.k) From_Section To_Section +-----+---------------+-------------+-------------+ | id | issue no | from section| to_section | +-----+---------------+-------------+-------------+ | 1 | 223
> serial_no.
Issue_no. (f.k)
From_Section
To_Section
+-----+---------------+-------------+-------------+
| id | issue no | from section| to_section |
+-----+---------------+-------------+-------------+
| 1 | 223 | MFA | N/A |
| 2 | 223 | N/A | LOG |
+----------+----------+-------------+--------------+
当我查询关于问题编号的表格时,我得到两行,有谁能帮忙我如何得到一条记录和没有“N/a”对于您给出的示例,这将起作用:
WITH combined AS
(
SELECT i.issue_no,
CASE WHEN i.from_section = 'N/A' THEN i2.from_section ELSE i.from_section END from_section,
CASE WHEN i.to_section = 'N/A' THEN i2.to_section ELSE i.to_section END to_section
FROM dbo.tbl_issue i
INNER JOIN dbo.tbl_issue i2
ON i2.issue_no = i.issue_no
)
SELECT DISTINCT *
FROM combined c
WHERE c.from_section <> 'N/A' AND c.to_section <> 'N/A'
这是假设“N/A”不意味着NULL…如果您是指NULL替换=“N/A”为is NULL并将“N/A”替换为is not NULL或?它们是相互排斥的一个是一个自由和开放源码软件产品,现在恰好由甲骨文公司拥有;另一个是与该公司同名的专有、封闭源代码的商业产品。也许首先更新现有记录,而不是插入新记录是明智的?如果确实需要单独的记录,请定义在一个问题上出现两个以上的记录时应该发生什么。它们是N/a或null??向我们显示您正在使用的查询如果答案对您有帮助,您介意接受吗?谢谢您的查询,我将尝试相应地批准。谢谢,很高兴我能提供帮助。