login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MySQL subquery

Offline Metalhead - 30/09/2004 09:48 (laatste wijziging 30/09/2004 09:52)
Avatar van MetalheadHTML gevorderde ik ben al een tijdje bezig om een subquery te maken, maar het lukt me niet echt; ziet iemand zo wat hier fout aan is:
  1. SELECT job.ID FROM job WHERE job.ID NOT IN (SELECT DISTINCT JobID FROM jobX)

6 antwoorden

Gesponsorde links
Offline Johaninho - 30/09/2004 10:15
Avatar van Johaninho Nieuw lid ik denk dat het moet zijn :

SELECT id
FROM job
WHERE id NOT IN (SELECT jobid
FROM jobx)

Maar zou je voor alle zekerheid eens je "doel" willen posten, hiermee bedoel ik wat wil je juist bereiken met deze query en post eventueel ook even de twee tabelstructuren.

Greetz

J.
Offline Metalhead - 30/09/2004 10:41
Avatar van Metalhead HTML gevorderde Het doel is alle ID's uit de tabel job weergeven, waarbij de JobID(=ID) niet voorkomt in de jobX tabel.

Maar MySQL snapt het vanaf de 2e SELECT al niet meer, dus er is iets fout aan m'n subquery - syntax
Offline Metalhead - 30/09/2004 10:54
Avatar van Metalhead HTML gevorderde Dit geef ik aan mysql:
  1. SELECT * FROM job
  2. WHERE ID <> (SELECT JobID FROM jobX)

Dat is bijna gelijk aan het voorbeeld in de MySQL-doc.
En dit krijg ik terug:
  1. java.sql.SQLException: Syntax error or access violation message from server: "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 JobID FROM jobX)' at line 1
Offline Johaninho - 30/09/2004 10:57
Avatar van Johaninho Nieuw lid k ga eens ff mn cursus van oracle doorbladeren en dan zal k u in de loop van de dag de oplossing passeren.

Greetz

J.
Offline Thomas - 30/09/2004 11:17
Avatar van Thomas Moderator Geneste queries worden pas recent ondersteund, dus het kan goed zijn dat je MySQL niet nieuw genoeg is (?). Je kan je query altijd in 2 delen opsplitsen:

  1. <?php
  2. $query = "SELECT DISTINCT JobID FROM jobX";
  3. $res = mysql_query($query) or die(mysql_error());
  4. $temp = array();
  5. while($row = mysql_fetch_row($res)) {
  6. $temp[] = $row[0];
  7. }
  8.  
  9. $ids = "(".implode(",", $temp).")";
  10. $query = "SELECT job.ID FROM job WHERE job.ID NOT IN ".$ids;
  11. $res = mysql_query($query) or die(mysql_error());
  12. while($row = mysql_fetch_...($res)) {
  13. ...
  14. }
  15. ?>
Offline Metalhead - 30/09/2004 11:18
Avatar van Metalhead HTML gevorderde Okay, dan doe ik dat wel...
(ik werk niet met PHP, ik werk met Java)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s