lenizMedlem sedan aug. 2001676 inlägg Hej!
Försöker skriva en kod som ska plocka fram träffar ur en tabell där det INTE finns någon förekomst av träffen i en annan tabell.
Alltså i TABELL 1 finns objekt som har ett idnummer (objektid), om det finns några tillbehör till objektet så lagras de i TABELL 2 där objektetd idnummer även finns, det är så jag kopplar ihop dem.
sql="select o.objektid, o.objektnamn, count(tillbehorid) as t.x from tillbehor as t inner join objekt as o on o.objektid=t.objektid where t.x=0"
Mvh Lena
LarsGMedlem sedan dec. 200012 464 inlägg Du vill alltså ha de objekt som inte har något tillbehör?
select <kolumner>
from objekt
where not exists
(select *
from tillbehor
where objekt.objektid = tillbehor.objektid)
Flyttas från ASP
lenizMedlem sedan aug. 2001676 inlägg Hej!
Ja precis, men det är lite mer villkor med också och fler tabeller med inner join emellan.
Så jag testade lägga till detta på slutet:
and not exists (select t.objektid from tillbehor as t inner join objekt as o on t.objektid=o.objektid)
Då får jag detta felmeddelande:
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 'exists (select
Kan jag inte använda inner join i de här satserna om det ska fungera?
lenizMedlem sedan aug. 2001676 inlägg Hej igen!
Testade givetvis din variant utan inner join i satsen mellan parentesen också men det ger samma felmeddelande.
Mvh Lena
aasahMedlem sedan mars 20034 471 inlägg Pröva:
select <kolumner>
from objekt
where <andra villkor> and objektid not in
(select objektid
from tillbehor)
lenizMedlem sedan aug. 2001676 inlägg Hej!
Tack för förslaget men det ger tyvärr detta felmeddelande:
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 objektid from tillbehor)' at line 1
@ndersMedlem sedan juni 200032 969 inlägg Exakt hur ser din SQL-fråga ut då?
Vilken version av MySQL använder du?
LarsGMedlem sedan dec. 200012 464 inlägg Felet låter som om du använder 4.0 (eller äldre) av Mysql, som inte har stöd för subselect.
select <kolumner>
from objekt
left join tillbehor
on objekt.objektid = tillbehor.objektid
where tillbehor.objektid is null
lenizMedlem sedan aug. 2001676 inlägg Toppen! Det här fungerade!
Stort tack och trevlig helg!