[mysql] Subquery zonder resultaat

Pagina: 1
Acties:

  • Mastruberik
  • Registratie: December 2002
  • Laatst online: 17-01-2022
Hallo,

Ziet iemand een fout in deze subquery?


SQL:
1
SELECT m.artikelcode,m.artikelaantal,a.omschrijving,a.i_prijs FROM artikel AS a, machineartikel AS m WHERE m.machineid = $machineid AND a.code IN('SELECT artikelcode FROM machineartikel WHERE machineid = $machineid')


tabellen

machineartikel artikel
---------------------- -----------------
id code
artikelcode naam
artikelaantal omschrijving
machineid aantal
i_prijs

Ik heb de query getest in phpmyadmin, het word succesvol uitgevoerd. Maar ik zie alleen geen gegevens naar voren komen.Terwijl het wel zal moeten volgens mij. (sub query ook los uitgevoerd en dat werkt ook.)

bijvoorbaatdank

Verwijderd

De quote's om de subquery moeten weg.


SQL:
1
2
3
4
5
6
SELECT m.artikelcode, m.artikelaantal, a.omschrijving, a.i_prijs 
FROM artikel AS a, machineartikel AS m 
WHERE m.machineid = $machineid 
  AND a.code IN(SELECT artikelcode 
                FROM machineartikel 
                WHERE machineid = $machineid)

  • The Fox NL
  • Registratie: Oktober 2004
  • Laatst online: 14-02 22:37
Waarom nog die subquery, als ik je query zo bekijk kun je voldoen met:
SQL:
1
2
3
4
SELECT m.artikelcode, m.artikelaantal, a.omschrijving, a.i_prijs 
FROM artikel AS a, machineartikel AS m 
WHERE m.machineid = $machineid 
  AND a.code = m.artikelcode

Aangezien de subquery precies hetzelfde resultaat geeft als m.artikelcode.

  • Mastruberik
  • Registratie: December 2002
  • Laatst online: 17-01-2022
bedankt voor de moeite. Zonder de '' werkt het nog steeds niet :?. Kan het zijn dat ik het verkeerd gebruik?

Als ik het uitvoer in php zonder quotes dan krijg ik een warning, namelijk:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\www\impact\php\machine.php on line 193

en als ik het uitvoer zonder de quotes in phpmyadmin(inplaats $machineid, gewoon het getal natuurlijk) krijg ik een fout als:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT artikelcode
FROM machineartikel

1064, gaat er iets fout met parsen heb ik begrepen.

Zie eigenlijk niet wat ik fout doe....

  • Mastruberik
  • Registratie: December 2002
  • Laatst online: 17-01-2022
The Fox NL schreef op donderdag 15 juni 2006 @ 10:45:
Waarom nog die subquery, als ik je query zo bekijk kun je voldoen met:
SQL:
1
2
3
4
SELECT m.artikelcode, m.artikelaantal, a.omschrijving, a.i_prijs 
FROM artikel AS a, machineartikel AS m 
WHERE m.machineid = $machineid 
  AND a.code = m.artikelcode

Aangezien de subquery precies hetzelfde resultaat geeft als m.artikelcode.
aaargh, dankje... Zo had ik het in de allereerste instantie ook, maar werkte toen niet en dacht dat dus dat niet kon:) maar had iets gewijzigd waardoor het nu wel gaat.

dankje:)

  • The Fox NL
  • Registratie: Oktober 2004
  • Laatst online: 14-02 22:37
Probeer mijn query zonder die subquery, misschien dat dan het probleem wegvalt?
Heb je ook geen spelfouten in je kolomnamen ofzo?

Graag gedaan ;)

[ Voor 9% gewijzigd door The Fox NL op 15-06-2006 10:57 ]

Pagina: 1