[PHP] tabel vergelijken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
Ik loop tegen een probleempje aan

ik heb 2 tabellen in mijn mysql db en wil daarvan waarden gaan vergelijken voor een selectieveld.
het gaat om een tabel project en offerte.

de structuur is als volgt

offerte tabel
offerte_id
en nog wat meer velden

project tabel
project_id
offerte_id

nu wil ik een formulier maken waar een project kan worden toegevoegd. In dit formulier komt een selectieveld. In dat selectieveld moeten alle offerte_id's komen uit de tabel offerte. Echter mogen daar niet de offerte_ID's in voorkomen die reeds aan een project zijn toegekend. Dus alleen de offerte_ID's die nog geen project_ID hebben.

ik zit zelf te denken dat dit met SQL moet kunnen worden opgelost. Alleen zou ik niet weten op welke manier.

Ik heb onderstaande query al geprobeerd, deze werkten helaas niet
code:
1
$sql1 = mysql_query("SELECT offerte.offerte_ID from offerte, project WHERE offerte.offerte_ID <> project.offerte_ID GROUP BY offerte.offerte_ID");


zou het misschien een optie zijn om 2 query's uit te voeren? of is het handiger om met een array de gegevens te controleren? graag wat tips en misschien wat inzicht in de gedachtengang die hierachter zou kunnen zitten

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 16-06 13:10

MueR

Admin Tweakers Discord

is niet lief

Array maken met IDs die al zijn toegekend, en dan dmv de IN(array hier) functie de query aanroepen.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-06 00:38

NMe

Quia Ego Sic Dico.

Outer joins?
SQL:
1
2
3
4
5
SELECT offerte.offerte_ID
FROM offerte LEFT JOIN project
  ON offerte.offerte_ID = project.offerte_ID
WHERE project_id = NULL
GROUP BY offerte.offerte_ID

Bovenstaande query zal waarschijnlijk niet werken omdat ik je verhaal niet helemaal snap en ik bovendien je datamodel niet geheel doorheb, maar je moet ermee op weg kunnen komen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Anoniem: 148644

-NMe- schreef op donderdag 12 januari 2006 @ 00:20:
Outer joins?
SQL:
1
2
3
4
5
SELECT offerte.offerte_ID
FROM offerte LEFT JOIN project
  ON offerte.offerte_ID = project.offerte_ID
WHERE project_id = NULL
GROUP BY offerte.offerte_ID

Bovenstaande query zal waarschijnlijk niet werken omdat ik je verhaal niet helemaal snap en ik bovendien je datamodel niet geheel doorheb, maar je moet ermee op weg kunnen komen. :)
dat lijkt me wel te kloppen, behalve dat als je vergelijkt met NULL je IS ipv = moet gebruiken en GROUP niet echt nodig is
SQL:
1
2
3
4
SELECT offerte.offerte_ID
FROM offerte LEFT JOIN project
  ON offerte.offerte_ID = project.offerte_ID
WHERE project_id IS NULL

[ Voor 11% gewijzigd door Anoniem: 148644 op 12-01-2006 00:33 ]