sql >> Databáze >  >> RDS >> Mysql

Jak vybrat seskupené záznamy pouze v případě, že každý záznam ve skupině splňuje určitá kritéria v MySQL?

Navrhuji následující dotaz:

SELECT COUNT(a.id) AS total_records, a.disregard_inventory, a.qty
    FROM artikelstammdaten a
    ...
GROUP BY a.style
HAVING (SUM(a.qty) != 0 OR (a.disregard_inventory = 1))
       AND (SUM(qty>0) = total_records)

Poslední podmínka, kterou jsem přidal do dotazu, umožňuje vrátit styl pouze v případě, že počet velikostí pro tento produkt (total_records ) se rovná počtu dostupných velikostí pro tento produkt (SUM(qty>0) ).
qty>0 vrátí buď 0 (pokud produkt není k dispozici v dané velikosti, nebo 1 (pokud je dostupný). Takže SUM(qty>0) vrátí celé číslo mezi 0 a celkovým počtem velikostí.



  1. java.lang.IllegalStateException:Pokus o provedení operace na uzavřené EntityManagerFactory

  2. Nastavit DataGridView.DataSource jako asynchronní

  3. Doporučený způsob / příkaz číst data z webové služby, analyzovat tato data a vložit je do SQLite db

  4. mysql_fetch_assoc():zadaný argument není platným zdrojem výsledků MySQL v php