webForumDet fria alternativet
Logga in / Bli medlem

Sql knas

Databaser & SQL

8 svar · 143 visningar · startad av EchO

Medlem sedan aug. 2001112 inlägg
Frågan#1

Jag har lite problem med en sql sats...:(

sql= "SELECT produkter.namn, produkter.kat_id, kategorier.kat_id, kategorier.kat_namn FROM Produkter JOIN kategorier ON produkter.kat_id = kategorier.kat_id AND produkter.id='"&id&"'"

Jag vill allstå hämta namn, kat_id från produkt tabellen och sedan kategorinamnet från kategori tabellen.

Förstår inte varför det inte fungerar...

@EchO

Medlem sedan jan. 20007 697 inlägg
#2

Ibland har du versalt P i produkter och ibland har du gement P. Kolla hur det verkligen ska vara.

Medlem sedan juni 200032 967 inlägg
#3

Är id-fältet verkligen av typen text? Hur menar du inte fungerar? Felmeddelande?

Mvh,

Medlem sedan jan. 20007 697 inlägg
#4

Får jag bara frågar varför @nders undrar om id är text? :q

Medlem sedan juni 200032 967 inlägg
#5

Visst får man fråga det.

Det känns som att id bör vara en räknare, men i SQL-frågan har EchO apostrofer runt id-värdet.

AND produkter.id='"&id&"'"

Är fältet numeriskt skall man ju inte ha dessa apostrofer runt värdet.

Mvh,

Medlem sedan jan. 20007 697 inlägg
#6

Det spelar ingen roll, det blir inte fel om du har det. Däremot kan det bli fel om du skulle råka missa det vid fel ställe.

Medlem sedan dec. 200012 464 inlägg
#7

Det spelar ingen roll, det blir inte fel om du har det.

Jo, det blir fel i många dbms.

Medlem sedan jan. 20007 697 inlägg
#8

Då kanske man ska kolla vad EchO använder. :o

Medlem sedan aug. 2001112 inlägg
#9
sql= "SELECT produkter.*, kategorier.kat_namn FROM produkter INNER JOIN kategorier ON produkter.kat_id = kategorier.kat_id WHERE produkter.id="&id

Satte in INNER framför JOIN och tog bort apostroferna runt id...

Sedan funkar det...

@EchO

258 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)