複雑なmysqlクエリを構築する必要があります。 id、id_user、id_campo、valoreの3つのカラムを持つユーザ情報を持つテーブルがあります。したがって、たとえば:複数の場所でMySqlクエリを構築する
- ,1,1,1、 "id = 1"はユーザ名です。
- 2,2,1、 "Luca";
- 3,1,2、 "Windows"; (ここで、id_campo = 2は中古OS用です)。
- 4,2,2、 "Linux"; など。
は今、私は、ユーザーを選択する必要がありますここで、name = "ロベルト" とOS =の "Linux" が、同じユーザー:
SELECT id_user WHERE (id_campo=1 AND valore="Roberto") OR (id_campo=2 AND valore="Linux").
このサンプルの場合には、問合せの戻りid_user = 1 id_user = 2でも結果は得られません。どのように私は条件 "同じユーザー"を含めることができるようにクエリを変更することができますか?
ありがとうございます!
に基づいて、同じテーブルに参加しますか?これは、リレーショナルデータベース/テーブルがどのように動作するはずではありません。異なるデータに対して同じ列を使用する複数の関係を利用することはありません。なぜ 'id_user'にマッチする行を取得できないのですか? – junkfoodjunkie
なぜ 'FROM'演算子が欠落していますか? – RomanPerekhrest
なぜ間違っていますか?私はusersテーブル、 "campo"テーブル、 "user_spec"テーブルを持っています。したがって、ユーザーは "campo"( "Name"、 "OS"、 "email"、...)に含まれる異なるuser_spec値( "Roberto"、 "Luca"、 "Windows"、 "Linux" ..)。それが間違っている場合、どのようにDB構造を最適な方法で変更できますか?ありがとう – cent89