Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage, um einen Datensatz mit derselben ID, aber unterschiedlichem Wert in zwei Spalten auszuwählen

SELECT youtable.*
FROM yourtable
WHERE articleid IN (SELECT articleid
                    FROM yourtable
                    WHERE (fieldsid, value) IN ((1,1),(2,1))
                    GROUP BY articleid
                    HAVING COUNT(*)=2)

Bearbeiten:Wenn Sie nur den ersten Datensatz benötigen:

SELECT youtable.*
FROM yourtable
WHERE id IN (SELECT MIN(id)
             FROM yourtable
             WHERE (fieldsid, value) IN ((1,1),(2,1))
             GROUP BY articleid
             HAVING COUNT(*)=2)