sql >> Database teknologi >  >> RDS >> Mysql

mysql hvordan man finder, om mindst én række fra krydsreferencetabellen er null eller kriterier

Dette lyder som en klassisk usecase for EXISTS operatør:

SELECT *
FROM   mytable a
WHERE  EXISTS (SELECT 1
               FROM   mytable b
               WHERE  a.foreignkey = b.foreignkey 
               AND    trainer IS NOT NULL 
               AND    trainer <> 'FREE'

EDIT:
Hvis du bare vil have den distinkte anderledes foreignkey s:

SELECT DISTINCT foreignkey
FROM   mytable a
WHERE  EXISTS (SELECT 1
               FROM   mytable b
               WHERE  a.foreignkey = b.foreignkey 
               AND    trainer IS NOT NULL 
               AND    trainer <> 'FREE'


  1. Hvordan erstatter man ikke-numeriske tegn i MySQL?

  2. uinitialiseret konstant MysqlCompat::MysqlRes (ved hjælp af mms2r gem)

  3. Hvordan opretter man en SQL Server-funktion for at forbinde flere rækker fra en underforespørgsel til et enkelt afgrænset felt?

  4. MySQL Update Column fra anden kolonne i samme tabel