我在这里看到了几个与此非常相似的问题,但是我还没有找到具体到我相信我的问题的答案。当字段= 0时MySQL返回所有行
我有两个表,subcompanies
和presets
。这两张表通过ID CntRefID
和PresetIDFoxPro
连接在一起。我想在ID匹配时从Preset
表格的文本列中选择所有文本。
当CntRefID
中有一个数字时,此功能完美无瑕。但是,如果它是0,则会返回presets
文本列中的每个字段。
这是我的查询文本;
myQuery.CommandText =
"SELECT CompanyID, CompanyName, PresetText, InvHeader, Prefix, NextBnum
FROM sdcdatabase.sdcsubcompanies, sdcdatabase.presets
WHERE (CntRef=PresetIDFoxPro OR CntRef='0') AND PresetReferenceFoxPro=3";
我不明白为什么每个字段都被选中。我已经在引号中试过0,没有引号,我也看到它可能是由于一个字段是一个整数而一个字符是Char(mySQL returns all rows when field=0)。但是我的字段都是整数。
为什么您的查询包含'OR CntRef ='0''条件?是因为你知道没有与该ID相匹配的“预设”记录,并且即使它们在“预设”上没有匹配,你也想返回“子公司”记录吗? –