gpt4 book ai didi

mysql - Oracle SQL 查询帮助查找一列具有两个可能值的条目

转载 作者:行者123 更新时间:2023-11-29 05:07:13 25 4
gpt4 key购买 nike

如果这个问题的格式不正确,我深表歉意,我通常不会问 SQL 问题。我为我的 oracle 数据库创建了以下查询

SELECT * FROM X_METER_USE x
LEFT JOIN INSTRUMENTS i on x.ID_NUMBER = i.NAME and x.INST_SNR = 'INSTRUMENT'
LEFT JOIN STANDARD_REAGENT sr ON x.ID_NUMBER = sr.SAMPLE_NUMBER AND x.INST_SNR = 'SNR'
WHERE x.INST_SNR = 'SNR' AND sr.SAMPLE_NUMBER = i.NAME;

高层次的想法是,此 X_METER_USE 表中的条目对应于我组织中的测试工程师在项目中执行的测试。他们使用 INSTRUMENT 表中的测量仪器或 STANDARD_REAGENT 表中的化学品进行测试。在 X_METER_USE 条目中,如果 INST_SNR 列的值为“INSTRUMENT”,则他们使用仪器执行测试,如果值为“SNR”,则他们使用化学物质执行测试。每个 X_METER_USE 条目都与存储在名为 PROJECT 的列中的项目编号相关联。这里的关系是一个项目可以有多个与之关联的 X_METER_USE 条目。因此 PROJECT 列具有与对该项目执行的所有测试相对应的重复条目。

这是表格:

enter image description here

下面是一些示例条目

enter image description here

我需要一个查询来找到几个项目编号,工程师已经输入了化学品和仪器测试,这样我就可以测试前端网络界面并确保我的逻辑是正确的。提前致谢!

最佳答案

如果我没理解错的话,你想找既有化学测试又有仪器测试的项目。

要做到这一点,我相信你会这样做:

(SELECT DISTINCT PROJECT FROM X_METER_USE WHERE INST_SNR = "INSTRUMENT") AS X
JOIN (SELECT DISTINCT PROJECT FROM X_METER_USE WHERE INST_SNR = "SNR") AS Y
ON X.PROJECT = Y.PROJECT

获取一个包含单个字段(项目)的表,其中包含通过这两种方法测试的那些项目。然后,您可以将其加入到您的项目表中,以在必要时获取有关该项目的完整信息(尽管对于您甚至不需要的数字)。 (您通常只需要左连接或右连接,当一侧的条目可能在另一侧没有匹配项时,并且您想要这些条目;在这里,您不想要未经测试的项目或测试具有有效的项目条目,因此您需要内部联接。)

关于mysql - Oracle SQL 查询帮助查找一列具有两个可能值的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com