[MySQL + PHP] Kan het beter / sneller

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik moet 2 tabellen vergelijken of het object al bestaat, zoniet moet dat object zichtbaar worden.
Hier voor heb ik de volgende php code:
code:
1
2
3
4
5
6
7
8
9
10
11
$sql = "SELECT object_id FROM tabel_af";
        $result = $db->getRecords($sql);
        foreach($result as $key=>$value)
        {
        $object_id = $value['object_id'];
        $sql = "SELECT count(object_id) as count from tabel_in where object_id = '$object_id'";
        $result = $db->getRow($sql);
        if($result['count'] == 0)   {
            echo "Show gegevens"; 
            }
        }



Alleen mijn verstand zegt, dat dit ook wel met 1 sql statement moet kunnen. Klopt dit ?
En zo ja, wat moet ik daarvoor gebruiken ?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Zulk soort statements zijn leuk daarvoor:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
  ta.object_id
FROM
  tabel_af ta
  LEFT JOIN tabel_in ti USING (object_id)
WHERE
  ti.object_id IS NULL;

SELECT
   object_id
FROM
   tabel_af ta
WHERE
   NOT EXISTS (SELECT ti.object_id FROM tabel_in ti 
                           WHERE ti.object_id = ta.object_id)


En er zijn vast nog allerlei andere varianten

[ Voor 8% gewijzigd door ACM op 12-01-2005 16:07 ]