テーブル構造とデータ(Iは、IP /ドメインフィールドのデータはあまり意味がないかもしれません知っているが、これは説明のためである)を選択します。MySQLはすべての場所と1つ以上の場所はない
rec_id | account_id | product_id | ip | domain | some_data
----------------------------------------------------------------------------
1 | 1 | 1 | 192.168.1.1 | 127.0.0.1/test | abc
2 | 1 | 1 | 192.168.1.1 | 127.0.0.1/other | xyz
3 | 1 | 1 | 192.168.1.2 | 127.0.0.1/test | ooo
を表しています一意のインデックスip_domain
をip
とdomain
のフィールドの組み合わせにする(したがって、両方のフィールドに同じ値を持つレコードは存在できません)。
それぞれaccount_id, product_id, ip, domain
フィールドの値を知っていて、同じaccount_id, product_id
の値を持ち、ip, domain
の値の1つ(または両方)の値が異なる行を取得する必要があります。
例:私は(レコード2はdifferent domain
を持っているし、レコード3はdifferent ip
を持っているので)account_id=1
、product_id=1
、ip=192.168.1.1
、domain=127.0.0.1/test
は(それがrec_id
1と一致した)、私はIDが2と3でレコードを選択する必要があることを知っています。
だから、私は、クエリを使用:もちろん
SELECT * FROM table WHERE
account_id='1' AND product_id='1' AND ip!='192.168.1.1' AND domain!='127.0.0.1/test'
、それが0行を返しました。 mysql multiple where and where not inを見て、こう書いています
SELECT * FROM table WHERE
account_id='1' AND product_id='1' AND installation_ip NOT IN ('192.168.1.1') AND installation_domain NOT IN ('127.0.0.1/test')
を私の推測では、このクエリは再び(ちょうど別の方法でフォーマット)と同一であるので、0行ということです。いくつかの例も見つかりましたが、私の場合は何も働いていませんでした。
おかげで検証されていないインストールされているいけません私は欲しい。 –