1

次のようなクエリがあります。

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ます。誰でもこれを行う方法を知っていますか?

更新: フィールドpriceArtikelsテーブルにあるので、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ます。

4

2 に答える 2