Hej alla glad! Jag har aldrig använt MySQL, men jag vill minnas att jag har hört att MySQL inte stöder subqueries. Någon som kan bekräfta? TESTA: He he.. okej! Nope... problemet verkar vara att MySQL inte klarar SUB-frågor.. Som sagt sub-queries går inte i Mysql HejSQL fråga
Jag försöker köra denna SQL sats mot en MySQL databas med den vill inte fungera. Den fungerar perfekt i ACCESS!
Vad kan vara fel?
SQL = "Delete From post Where postRefID = ALL (Select postRefID From post, trad " & _
"Where post.postRefID = trad.tradID AND " & _
"trad.tradKategori = '" & strKat & "');"
Det felmeddelande jag får påstår att det är fel i SQL syntaxen.Sv: SQL fråga
/JohanSv: SQL fråga
SQL="delete from post inner join trad on trad.tradid=post.postrefid
and trad.tradkategori='" & strKat & "'"
ööh, kanske ska du ta en bu på tabellerna först...Sv: SQL fråga
Tyvärr funkar det inte heller.. får syntax-error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
[TCX][MyODBC]You have an error in your SQL syntax near 'INNER JOIN trad ON trad.tradID=post.postRefID AND trad.tradKategori = 'hej'' at line 1
/nya_aspsidan/forum/admin.asp, line 54Sv: SQL fråga
Nähä. Detta då:
delete from post where exists (select * from trad where
trad.tradid=post.postrefid and trad.tradkategori='xxx' )
Hoppas det funkar, slut på ideer!Sv: SQL fråga
För det jag skrev först funkade bra i Access.
/MJSv: SQL fråga
Dom har hittat på en egen (sic!) syntax för att kunna använda join i delete
sql = "delete post from post,trad where trad.tradid=post.postrefid
and trad.tradkategori='" & strKat & "'"
(Den finns i version 4.0 av Mysql)
men det är ju inte samma fråga som du vill ha. Så vitt jag kan se så går det inte att få till i Mysql med en fråga.Sv: SQL fråga
så här kan man göra;
Set objGetData=objCon.Execute("select * from ***tabell*** where ***villkor****='J'")
LStrRes=""
Do Until objGetData.EOF
LStrRes=LStrRes&Cstr(objGetData("***fältet***"))&","
objGetData.MoveNext
Loop
rem Ta bort det sista kommatecknet.
LStrRes=left(LStrRes,len(LStrRes)-1)
Set objGetData=objCon.Execute("select ***fält*** from ***tabell*** where ***villkor***='J' and ****fält**** in ("&LStrRes&")")
Det man tvingas göra är att dela upp satsen i 2 och konstruera villkoret i strängen LStrRes. Inte helt optimalt men det fungerar.
Mvh
Johan