PHP / MySQL başka bir tablo ile sonuçları karşılaştırmak

1 Cevap php

Ben 2 tablolar var ...

Table1:
ID, Name, Country
Tablo2:
ID, accountID, parent

table1.id = table2.acountID

My script does a search for all records with a particular parent. I want to compare those results with table1 and return all entries that wern't in the search.

eg. Table1:

1, Bill, AU
2, Charles, US
3, Clare, CA

Tablo2:

1, 1, Mary
2, 1, William
3, 2, Henry

Arama döndürür (accountid = '1 'tablo2 * seçin):

1, 1, Mary
2, 1, William

ve ben bu sonuçları (tablo1) almak istiyorum:

2, Charles, US
3, Clare, CA

1 Cevap

Arama accountid = 1 Table2 tüm satırları geri dönüyor

Aramada döndürülen değil tüm satırları döndürmek için, 1 dışında bir kimliği var, ya Table2 herhangi eşleşen satırları yok Tablo1'e tüm satırları bulur.

SELECT
  ID
FROM
  Table1
WHERE
  ID <> 1
  OR NOT EXIST (SELECT * FROM Table2 WHERE accountID = 1)

Basit görünüyor?