2017-04-09 22 views
0

2つのテーブルを使用してMySQL検索用のコードを作成しています。しかし、結果はPHP MySQL検索クエリ

インタフェース Interface

"通訳" テーブル構造(これは通訳に関する情報を保持する)enter image description here

"terp_attributes" 表構造が(これは属性を保持している正しくないようですターボ用の値ID)

EX- terp x has level 1 and level 2 certification 
Ex2- terp x can translate ASL and Spanish 

enter image description here

私は(ta_attrvalid = 2(ta_attrvalid = 1)またはレベル1スキルを認定している「男性または女性を取得するためのSQLを書いた上記の表のサンプル・データ

enter image description here

) "と彼はまた、" ASL "言語(ta_attrvalid = 6)属性を持っていますが、私は多くの変更を行っても動作していないようです。ここでの予測としてデータ「3 ta_terpid」しかし、私はどんな結果が

誰も私はこのクエリをしてください解決するのを助けることができる見ることができない私のクエリは返すべき

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) 

で、 どうもありがとう

+1

、あなたはあなたのWHERE句でテーブル名を指定する必要があります。 通訳、terp_attributes(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 SELECT * FROM = 2) AND(terp_attributes.ta_attrvalid = 6) – cosmoonot

+2

AND(ta_attrvalid = 1 OR ta_attrvalid = 2)AND(ta_attrvalid = 6) 'これはできません。 –

+0

@PaulSpiegelこれを行う方法は他にありますか、それらの属性の関係を別々の3つのテーブルに保存してください、ありがとうございます –

答えて

1

attributesテーブルをinterpreters_skillsinterpreters_languagesinterpreters_locationsに分割する方が良い場合があります。しかし、実際の設計では、あなたは、テーブルを複数回または使用に参加する必要がありますようにサブクエリをEXISTS:私は信じて

+0

ありがとうたくさん、私はこれをチェックします –

+0

それは素晴らしい、ありがとう助けをたくさんありがとう:)幸運...! –