[php/mysql] Sub query

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Kickasz
  • Registratie: April 2003
  • Niet online
Ik ben bezig met een school project om een pizza site te bouwen. Nu ben ik bezig met een programma te maken om zelf een pizza samen te kunnen stellen. Ik kwam alleen een probleem tegen. Ik gebruik twee tabellen:

1. tabel pizza_zelf / hier staan alle ingredienten in voor op de pizza
| id - naam - prijs
2. tabel custom / hier worden de ingredienten die zijn besteld opgeslagen
| id - user - ingredient

Wanneer je op het onderstaande plaatje op het groene gedeelte klikt wordt het netjes naar de andere tabel gekopieerd. Vervolgens moet mijn sql query ervoor zorgen dat wat in de rechter tabel staat niet meer in de linker tabel voorkomt. Dit wil ik doen dmv een sql qeury.

Afbeeldingslocatie: http://home.quicknet.nl/qn/prive/plasa/Got/vraag.gif

Het volgende heb ik al geprobeerd:

SELECT id, naam, prijs FROM pizza_zelf except select * from custom

SELECT id, naam, prijs FROM pizza_zelf, custom WHERE id not in (SELECT ingredienten FROM custom)

id van de tabel pizza_zelf = ingredienten van de tabel custom

De reden waarom de bovenstaande dingen niet werken is omdat mysql het niet ondersteund |:(. Heb me leraar ook al om hulpt gevraagd, maar dat wou niet baten :|.

SELECT DISTINCT pizza_zelf.id, naam, prijs FROM pizza_zelf, custom WHERE pizza_zelf.id <> ingredienten

Deze hielp ook niet :X

Ik gebruik MySQL 3.23.47-nt |:(, misschien dat het probleem daar aan ligt 8)7

[ Voor 4% gewijzigd door Kickasz op 13-12-2004 13:56 ]


Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wat jij nodig hebt is een outer join met een 'where <joinkolom> is null' erbij.

Who is John Galt?


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
MySQL kan pas sinds 4.1 subqueries aan. Dus een join zoals justmental voorstelt en in de mysql-manual besproken wordt zou moeten werken.

Acties:
  • 0 Henk 'm!

  • Kickasz
  • Registratie: April 2003
  • Niet online
Dan ga ik maar hard op zoek hoe een join werkt! :+

Net even het een en ander getest met Left / right join, maar het wil allemaal niet werken. Ik ga me versie van Mysql maar updaten naar 5.0, in de hoop dat ik de functies dan wel kan gebruiken :Y). Niet de mooiste oplossing, maar als het werkt ben ik tevreden.

[ Voor 73% gewijzigd door Kickasz op 13-12-2004 14:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Kickasz schreef op maandag 13 december 2004 @ 14:04:
Dan ga ik maar hard op zoek hoe een join werkt! :+

Net even het een en ander getest met Left / right join, maar het wil allemaal niet werken. Ik ga me versie van Mysql maar updaten naar 5.0, in de hoop dat ik de functies dan wel kan gebruiken :Y). Niet de mooiste oplossing, maar als het werkt ben ik tevreden.
5.0 is nog zwaar beta, gebruik 4.1. Die is stable en ondersteund subqueries.

Ik denk niet dat je docent het leuk vind als de zooi crashed terwijl hij bezig is ;)

[ Voor 8% gewijzigd door Verwijderd op 13-12-2004 14:40 ]


Acties:
  • 0 Henk 'm!

  • Kickasz
  • Registratie: April 2003
  • Niet online
Het is gelukkig allemaal local :7, dus dat is het probleem niet, maar als het echt zo buggy is als jij zegt ga ik wel voor 4.1. Ik moet nu alleen alles nog even installeren en importen en dan kan het testen gaan beginnen!

O-)
Pagina: 1