gpt4 book ai didi

mysql - mySql中的空值匹配

转载 作者:行者123 更新时间:2023-11-29 00:47:10 25 4
gpt4 key购买 nike

我在 mysql 数据库中有三个表。 Deseasetype(DTID,TypeName) , Symptom(SID, SymptomName, DTID) , Result(RID, SID1, SID2, SID3, result).1st 两个表,我认为足够清楚了。

在结果表中:会有符号的组合,SymID1/SymID2/SymID3 的任意值都可以为空。在这里我发送一张表格结果的图片。

enter image description here

我想输入一些症状,输出将是“结果”表中的结果。为此,我写了这个查询:

$query = "select Result from result where (result .SID1= '$symptom1') AND (result.SID2= '$symptom2' ) AND (result.SID3 = '$symptom3')";

此方法仅在三个症状具有值(value)时起作用。但如果任何症状为空,则找不到结果。可能查询应该更完善。

**请避免在我的写作中出现任何语法错误。

最佳答案

那是因为您将 NULL 与空字符串进行比较,而它们不相等。你可以试试这个:

SELECT Result
FROM symptom
WHERE IFNULL(symptom.SID1, '') = '$symptom1'
AND IFNULL(symptom.SID2, '') = '$symptom2'
AND IFNULL(symptom.SID3, '') = '$symptom3'

注意事项:

  • 您需要正确转义 $symptom1、$symptom2 和 $symptom3 的值。
  • 这不会有效地使用索引。

关于mysql - mySql中的空值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065245/

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