次のようなクエリがあります。
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ます。