sql >> Database >  >> RDS >> Mysql

MYSQL:Kun je resultaten ophalen die overeenkomen met 3 van de 4 uitdrukkingen?

SELECT
  * 
FROM 
  my_table 
WHERE 
  CASE WHEN name = "john doe"           THEN 1 ELSE 0 END +
  CASE WHEN phone = "8183321234"        THEN 1 ELSE 0 END +
  CASE WHEN email = "[email protected]" THEN 1 ELSE 0 END +
  CASE WHEN address = "330 some lane"   THEN 1 ELSE 0 END
  >= 3;

Kanttekening:dit zal hoogstwaarschijnlijk niet efficiënt gebruik maken van indexen. Aan de andere kant zullen er hoe dan ook geen indexen zijn op dit soort kolommen.



  1. Een Oracle-procedure aanroepen met een PL/SQL-verzamelingstypeparameter via .NET

  2. Hoe krijg ik BLOB van bestand in PL/SQL?

  3. MySQL CREATE FUNCTION Syntaxis

  4. retourneer group_concat-gegevens als array