Sql knas

Databaser & SQL

8 svar · 166 visningar · startad av EchO

Medlem sedan aug. 2001112 inlägg
Trådstart#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

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)