tüm öğeleri almak ve kriterlere dayalı bir öğe kaldırmak için mysql sorgu

2 Cevap php

işte ben şu anda başarılı ne:

  1. email1 ve email2 göz önüne alındığında,
  2. get all emails that are not equal to email1
  3. Bunların bir listesini oluşturmak
  4. email2 listede olup olmadığını kontrol edin
  5. if it does return false, if it does not return true

Yerine bir liste oluşturma ve email2 içinde varsa arayan bir sorgu ile bunu gerçekleştirmek için bir yolu var mı? (PHP yukarıdaki sözde uygulanan ettik ve ben bir sorgu nesnesi ve bir dizi vardı çünkü ... çirkin yaklaşım)

given a user table with the following schema id INT(11) PRIMARY KEY email VARCHAR(100)

2 Cevap

Sorgu:

SELECT id
FROM sometable
WHERE email=:email2

Herhangi bir satır döndürür sadece görmek.

Email1 email2 eşit ise, bu işe yaramaz, ama bu durumda olsaydı o zaman ilk etapta sorguyu çalıştıran değer olmaz.

Burada ihtiyacınız sonuç almak için basit bir sorgu (0 = false, 1 = true):

select
    case when count(1) > 0 then 0 else 1 end as result
from 
    email_table
where 
    email != email1
and email  = email2