sql >> Database >  >> RDS >> Mysql

Kan deze SQL-query worden vereenvoudigd?

Je kunt een andere JOIN gebruiken om de tweede IN . te vermijden . De subselectie geeft alleen die personen terug die zowel tennis als voetbal spelen:

SELECT *
FROM Person
WHERE Person.Id IN
(
    SELECT spp1.PersonId
    FROM SportsPerPerson spp1
    JOIN SportsPerPerson spp2 ON ( spp2.PersonId = spp1.PersonId )
    JOIN Sports s1 on spp1.SportsId = s1.Id
    JOIN Sports s2 on spp2.SportsId = s2.Id
    WHERE s1.Name = 'Tennis'
      AND s2.Name = 'Soccer'
)


  1. Verwijderknop werkt niet in CodeIgniter

  2. Mysql:gegevens verwisselen voor verschillende rijen

  3. Onderscheiden in slechts één kolom - alleen EERSTE dubbele rij weergeven

  4. Xampp MS SQL-server PHP 5.6