webForumDet fria alternativet

Problem med exists och not in

3 svar · 308 visningar · startad av chha33

chha33Medlem sedan juli 20065 inlägg
#1

Använder mySQL 4.0.24 vad jag kan se.

Jag har 2 tabeller:
td_fraga med kolumnen ID (m.fl.).
td_svar med kolumnerna ID, fragaID och IP (m.fl.).

Om man svarat på en fråga så sparas IP numret i td_svar.IP.
Nu vill ja hämta alla frågor som har ett svar, men ett visst IP nummer inte svarat på, d.v.s alla td_fraga.ID där variabeln IPnummer inte finns för den frågan i td_svar.IP.

Detta funkar inte:

SQL="SELECT td_svar.fragaID FROM td_svar, td_fraga WHERE td_fraga.ID=td_svar.fragaID AND td_svar.IP=<>" & IPadress & "' GROUP BY td_svar.fragaID"

eftersom så fort fler personer än just det IP numret har svarat så hämtar den den frågan ändå.

Har försökt med NOT IN (SELECT...osv) men får felmeddelande ...syntax to use near 'SELECT

Har förökt med NOT EXISTS men får felmeddelande ...... syntax to use near 'EXISTS

Nån som vet vad jag gör fel eller hur man kan lösa detta med 1 SQL sats.

Tack.

K@llenMedlem sedan mars 20032 667 inlägg
#2

chha33 skrev:

Har försökt med NOT IN (SELECT...osv) men får felmeddelande ...syntax to use near 'SELECT

Har förökt med NOT EXISTS men får felmeddelande ...... syntax to use near 'EXISTS

Nån som vet vad jag gör fel eller hur man kan lösa detta med 1 SQL sats.

Version 4.0.24 av MySQL har inte stöd för subselects. Därav dina felmeddelande.

K@llenMedlem sedan mars 20032 667 inlägg
#3

RED: Tänkte galet. ;)

Du får nog använda en temp-tabell.

LarsGMedlem sedan dec. 200012 464 inlägg
#4
SELECT tf.fragaID 
  FROM td_fraga tf
 left join td_svar ts on tf.fragaID = ts.fraga_id 
  and ts.IP =  <IPadress>
where ts.fraga_id is null
136 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)