Mysql 检查where子句中的不同条件时出错

Mysql 检查where子句中的不同条件时出错,mysql,sql,Mysql,Sql,我试图从下面查询中包含的不同表中获取列值,但当我在where子句中检查不同的条件时,它给出了错误 sql = @"SELECT members.member_Id, members.member_Lastname, members.member_Firstname, members.member_PostCode"; sql += "," + "members.member_Reference, members.membe

我试图从下面查询中包含的不同表中获取列值,但当我在where子句中检查不同的条件时,它给出了错误

                                  sql = @"SELECT members.member_Id, members.member_Lastname, members.member_Firstname, members.member_PostCode";
  sql += "," + "members.member_Reference,  members.member_Dob, members.member_IsBiometric, mshiptypes.mshipType_Name, mshipstatustypes.mshipStatusType_Name";
  sql += "," + "membertomships.memberToMship_EndDate";
  sql += " "+"FROM members LEFT JOIN membertomships ON membertomships.member_Id = members.member_Id";
  sql += " "+"LEFT JOIN mshipstatustypes ON mshipstatustypes.mshipStatusType_Id = membertomships.mshipStatusType_Id";
  sql += " "+"LEFT JOIN mshipoptions ON mshipoptions.mshipOption_Id = membertomships.mshipOption_Id";
  sql += " "+"LEFT JOIN mshiptypes ON mshiptypes.mshipType_Id = mshipoptions.mshipType_Id";
  sql += " " + "WHERE memberToMship_PayMethod='Cash' AND  mshipStausType_Name ='Live' AND  mshipStatusType_Name = 'Defaulter'  AND mshipStatusType_Name='Frozen'";
但它给出了这样的错误

                          Error Code: 1054
                          Unknown column 'mshipStausType_Name' in 'where clause'
有人能帮我吗?我正在使用mysql

这是一个修改过的查询,但它不会提取提供空列值的ant数据

                                              sql = @"SELECT members.member_Id, members.member_Lastname, members.member_Firstname, members.member_PostCode";
  sql += "," + "members.member_Reference,  members.member_Dob, members.member_IsBiometric, mshiptypes.mshipType_Name, mshipstatustypes.mshipStatusType_Name";
  sql += "," + "membertomships.memberToMship_EndDate";
  sql += " "+"FROM members LEFT JOIN membertomships ON membertomships.member_Id = members.member_Id";
  sql += " "+"LEFT JOIN mshipstatustypes ON mshipstatustypes.mshipStatusType_Id = membertomships.mshipStatusType_Id";
  sql += " "+"LEFT JOIN mshipoptions ON mshipoptions.mshipOption_Id = membertomships.mshipOption_Id";
  sql += " "+"LEFT JOIN mshiptypes ON mshiptypes.mshipType_Id = mshipoptions.mshipType_Id";
  sql += " " + "WHERE membertomships.memberToMship_PayMethod='Cash' AND  mshipstatustypes.mshipStatusType_Name='Live' AND  mshipstatustypes.mshipStatusType_Name = 'Defaulter'  AND mshipstatustypes.mshipStatusType_Name='Frozen'"

即使这已经被评论过了,我还是会发布一个答案。错误的原因是,您的
所在的
表不包含
mshipStausType\u Name
列。如前所述,并查看您的SQL,有一个对
mshipStatusType\u Name
的引用,因此我还假设有拼写错误。

如果列的拼写正确,则我认为编译器无法识别该列属于多个表中显示为列的表,所以请尝试在列之前使用表名

mshiptypes.mshipType_Name
在使用或时,mshipStatusType_名称中不可能有两个值 而不是像这样:

mshipStatusType_Name='value1' or mshipStatusType_Name='value2' ....

拼写错误?看起来应该是mshipStatusType_Name而不是mshipStatusType_Name,这表明在查询中使用的表中没有该列。检查列名拼写是否正确,或者是否已将表包含在该列中。
mshipStausType\u name='Live'和mshipstatusype\u name='Defaulter'和mshipStatusType\u name='freezed'
对于表中的任何行都不会为真。也许(在固定列名后)您希望将这3个比较括起来,并将
更改为
…必须有一个成员具有mshipStausType\ U名称为默认值且处于活动状态,但它不提取成员记录…查询检查是否正确。。。。。