我正在写一个MySQL搜索代码使用两个表。但结果似乎不正确PHP的MySQL搜索查询
“terp_attributes” 表结构(这个拥有属性价值id可用于terps)
EX- terp x has level 1 and level 2 certification
Ex2- terp x can translate ASL and Spanish
上面表中的示例数据
我写了一个SQL得到“男性或女性,其已经通过认证的(ta_attrvalid = 1)或1级技能(ta_attrvalid = 2 )“,他也有”ASL“语言(ta_attrvalid = 6)属性,但它似乎不工作,即使我修改了很多。这里是我的查询
SELECT * FROM
interpreters ,terp_attributes
WHERE (terp_gender='M' OR terp_gender='F')
AND terp_agencyid=1 AND terp_id=ta_terpid
AND (ta_attrvalid=1 OR ta_attrvalid=2)
AND (ta_attrvalid=6)
应返回“ta_terpid 3”的数据作为预测,但我看不到任何结果
谁能帮助我解决这个问题,还请 非常感谢
我相信你需要在你的WHERE子句中指定表名。 SELECT * FROM 口译,terp_attributes WHERE(interpreters.terp_gender = 'M' OR interpreters.terp_gender = 'F') AND interpreters.terp_agencyid = 1 AND terp_attributes.terp_id = ta_terpid AND(terp_attributes.ta_attrvalid = 1个OR terp_attributes.ta_attrvalid =(0) AND(terp_attributes.ta_attrvalid = 6) – cosmoonot
AND(ta_attrvalid = 1 OR ta_attrvalid = 2)AND(ta_attrvalid = 6)' - 这是不可能的。 –
@PaulSpiegel是否有其他方式可以做到这一点,或者我应该将这些属性关系保存在3个独立的表中,谢谢 –