webForumDet fria alternativet

Problem med INNER JOIN

4 svar · 254 visningar · startad av juventus1

juventus1Medlem sedan dec. 2000399 inlägg
#1

Jag har två tabeller. En med produktinformation och en med information om varukorgen. Det "gemensamma" som jag ska matcha värden emellan är ProductID. Sql-satsen ser ut så här:

strSql = "SELECT ProductID FROM ShoppingCart INNER JOIN Products ON ShoppingCart.ProductID = Products.ProductID"

Men när jag kör den får jag felet:"The specified field 'ProductID' could refer to more than one table listed in the FROM clause of your SQL statement."

Jag vet inte vad jag ska hitta på för att lösa problemet. Tacksam för hjälp.

/André

@ndersMedlem sedan juni 200032 969 inlägg
#2

det är när du skriver att du vill hämta fältet ProductID den inte vet vilket du vill ha.

prova följande:

strSql = "SELECT Products.ProductID FROM ShoppingCart INNER JOIN Products ON ShoppingCart.ProductID = Products.ProductID"

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

juventus1Medlem sedan dec. 2000399 inlägg
#3

Tack för hjälpen. Nu får jag inga felmeddelanden men efter en stund visas istället: "The maximum amount of time for a script to execute was exceeded."
Sql-satsen ser ut så här:

strSql = "SELECT ShoppingCart.ProductID FROM ShoppingCart INNER JOIN Products ON ShoppingCart.ProductID = Products.ProductID"

Jag funderar också på om man kan få in en WHERE på något sätt. Databasen fungerar så att kundens varukorg känns igen på sessionens id-nummer(session.sessionID). Därför ska all produktinformation visas där fältet sessionID har samma värde som den aktiva session (mha session.sessionID). Utan en WHERE så kommer även andras varor att visas och det är ju inte så roligt...

Jag har provat att sätta en WHERE på slutet av sql-strängen ovan. Jag får inga felmeddelanden, men jag får samma fel, scriptet tar för lång tid på sig.

mvh André

@ndersMedlem sedan juni 200032 969 inlägg
#4

The maximum amount of time for a script to execute was exceeded.

då har du gjort fel i någon loop någonstans. kanske missat en movenext eller så. ge oss lite asp-kod (trots att detta är sql-forumet... ;) )

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

juventus1Medlem sedan dec. 2000399 inlägg
#5

Mycket riktigt, jag hade missat movenext i loopen. Tack så mycket för hjälpen!

mvh André

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)