Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да разбера кои имейли са в същите списъци?

Тъй като общността гласува за затваряне на дублиран как да се показва дублиран имейл адрес

Ето пример за 4 таблици, можете да го удължите до 11, ако имате нужда. Съжалявам, но не отстраних грешките в този код, предполагам, че основната пречка беше заявката mysql за получаване на правилни стойности от базата данни.

И определено трябва да спрете да използвате функциите на mysql*!

$sql ="SELECT t.Contact_Email,
  e1.Contact_Email email1,
  e2.Contact_Email email2,
  e3.Contact_Email email3,
  e4.Contact_Email email4
FROM (
SELECT e.Contact_Email FROM email1 e
UNION ALL 
SELECT e.Contact_Email FROM email2 e
UNION ALL 
SELECT e.Contact_Email FROM email3 e
UNION ALL 
SELECT e.Contact_Email FROM email4 e
) t
LEFT JOIN email1 e1
ON t.Contact_Email = e1.Contact_Email
LEFT JOIN email2 e2
ON t.Contact_Email = e2.Contact_Email
LEFT JOIN email3 e3
ON t.Contact_Email = e3.Contact_Email
LEFT JOIN email4 e4
ON t.Contact_Email = e4.Contact_Email";

echo '<table><thead><tr><th>Email</th>';
for ($i=1;$i<5; $i++){
    echo "<th>email $i</th>";
}
echo '</tr></thead><tbody>';

$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    echo '<tr><td>'.$row['Contact_Email'].'</td>';
    for ($i=1;$i<5; $i++){
        echo '<td>'.(empty($row['email'.$i])?'no':'yes').'</td>';
    }
    echo '</tr>';
}
echo '</tbody></table>';

АКТУАЛИЗИРАНЕ Използвайте същата заявка, но променете изходната част на:

echo '<table><thead><tr><th>Email</th>';
for ($i=1;$i<5; $i++){
    echo "<th>email $i</th>";
}
echo "<th>Total (yes)</th>";
echo "<th>Total (no)</th>";
echo '</tr></thead><tbody>';

$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    $yesCount = 0;
    $noCount = 0;
    echo '<tr><td>'.$row['Contact_Email'].'</td>';
    for ($i=1;$i<5; $i++){
        echo '<td>'.(empty($row['email'.$i])?'no':'yes').'</td>';
        if (empty($row['email'.$i])) {
            $noCount++;
        } else {
            $yesCount++;
        }
    }
    echo '<th>'.$yesCount.'</th>';
    echo '<th>'.$noCount.'</th>';
    echo '</tr>';
}
echo '</tbody></table>';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP :Използване на променлива за задържане на име на таблица и използване на тази променлива в заявки

  2. Възможно ли е ГРУПИРАНЕ НА множество колони с MySQL?

  3. Мога ли да използвам MySQL LOAD XML LOCAL INFILE, ако редовете ми нямат „име“?

  4. MySQL TEXT срещу BLOB срещу CLOB

  5. mysql замества символите с ударение