次のようなクエリがあります。
select a.*, ag.Winstpercentage from Artikels a
inner join Artikelgroep ag on a.`Artgroep`=ag.Groepcode
where a.`Manuf_nr` in (some array)
このクエリには、price
フィールドがあります。Manuf_nr
これらすべてのフィールドを比較する必要があり、同じ場合price
は、同じ行のフィールドが等しくないことを確認する必要がありManuf_nr
ます。誰でもこれを行う方法を知っていますか?
更新: フィールドprice
はArtikels
テーブルにあるので、a の下で選択します。* クエリを変更したので、次のようになります
SELECT *
FROM `Artikels`
inner join (select * from Artikels) as totals
on Artikels.`Manuf_nr` = totals.`Manuf_nr` and
Artikels.`Vprijsexcl`!= totals.`Vprijsexcl`
where Artikels.`Manuf_nr` in
(select Manuf_nr from Artikels
group by Manuf_nr having count(*) >1)
しかし、時間がかかりすぎます。高速化する方法を知っている人はいますか?更新: フィールドprice
はフィールドですVprijsexcl
これは私が持っているものです:
Manuf_nr
そして、等しい場所と等しくない場所のすべてのデータを取得する必要がありVprijsexcl
ます。