webForumDet fria alternativet

åååå vad det e krångligt

Databaser & SQLur Databashanterare & SQL

13 svar · 624 visningar · startad av eddy1

eddy1Medlem sedan aug. 2001969 inlägg
#1

tjo

försökte mig den enklaste sql satsen med en join i men inte då? Det går käpprätt åt helvete!
Följande:

SQL = "Select k.namn as kund, f.namn as foretag From tbl_kunder k join tbl_fakturor fa on k.kund_id = fa.kund_id"

detta genererar följande fel

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i FROM-instruktion.
/faktura/faktura.asp, line 86

line 86 är sql satsen

någon som kan ge mig några enkla tips gällande sql?

Mvh

PeeerMedlem sedan mars 20025 907 inlägg
#2
SQL = "Select k.namn as kund, [b]fa[/b].namn as foretag From tbl_kunder k join tbl_fakturor fa on k.kund_id = fa.kund_id"
eddy1Medlem sedan aug. 2001969 inlägg
#3

sjukt

jag är helt kass på att se såna missar, har stirrat mig blind och såg ändå inte det...

men nu får jag istället syntaxfel:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i FROM-instruktion.
/faktura/faktura.asp, line 86

raden ser så här

SQL = "Select k.namn as kund, fa.namn as foretag From tbl_kunder k join tbl_fakturor fa on k.kund_id = fa.kund_id"

eddy1Medlem sedan aug. 2001969 inlägg
#4

gjorde så här nu

SQL = "Select k.namn as kund From tbl_kunder k join tbl_fakturor fa on k.kund_id = fa.kund_id"

nu är ju satsen så enkel den kan bli men fattar inte varför jag får syntaxfel

yohpopsMedlem sedan feb. 20011 198 inlägg
#5

Testa detta.

SQL = "Select k.namn as kund From tbl_kunder k, tbl_fakturor fa where k.kund_id = fa.kund_id"
eddy1Medlem sedan aug. 2001969 inlägg
#6

kanon

Tack

det funkar ju så, men saken är att jag måste använda mig av join och inner join då jag ska hämta från massa tabeller.

gjorde ett enkelt exempel för att test bara, men lyckas ju inte få en enkel join att fungera!!!

gör ett webbaserat faktureringsprogram och för att bygga fakturan så hämta kund info företagsinfo, artiklar, artikel benämningar m.m

Men är det för fel på satsen?

SQL = "Select k.namn as kund From tbl_kunder k join tbl_fakturor fa on k.kund_id = fa.kund_id"
@ndersMedlem sedan juni 200032 969 inlägg
#7

Jag vet inte om access gillar instruktionen join utan att du specificerar. Prova att skriva inner join istället.

eddy1Medlem sedan aug. 2001969 inlägg
#8

makalös

Kan inte bli annat än imopnerad. var det som strulade.

Tusen tackar

@ndersMedlem sedan juni 200032 969 inlägg
#9

Varsågod. Det större problemet kommer väl när du ska knyta in fler joiner. Jag blir aldrig klok på Access och alla parenteser som krävs... Tur att man slipper Access. :)

Lycka till med resten! :)

eddy1Medlem sedan aug. 2001969 inlägg
#10

När du ändå säger det

trodde det var det lätta kvar nu och bara fortsätta med inner join men det sket sig fort!!
Använder följande:

SQL = "Select k.namn as kund, f.namn as foretag From tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id inner join tbl_foretag f on fa.foretag_id = f.foretag_id"

Som ger följande fel

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'k.kund_id = fa.kund_id inner join tbl_foretag f on fa.foretag_id = f.foretag_id'.
/faktura/faktura.asp, line 88

men denna gamla rad fungerar kanon..

SQL = "Select k.namn as kund From tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id"

sätter mig snart under bordet istället!!!

LarsGMedlem sedan dec. 200012 464 inlägg
#11

Som sagt så är det parenteser som gäller

SQL = "Select k.namn as kund, f.namn as foretag From (tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id) inner join tbl_foretag f on fa.foretag_id = f.foretag_id"
LarsGMedlem sedan dec. 200012 464 inlägg
#12

det funkar ju så, men saken är att jag måste använda mig av join och inner join då jag ska hämta från massa tabeller.

Det behöver du inte.

eddy1Medlem sedan aug. 2001969 inlägg
#13

ooo vad jag är trög

hur ska jag använda paranteser då menar du?

Din rad:

SQL = "Select k.namn as kund, f.namn as foretag From (tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id) inner join tbl_foretag f on fa.foretag_id = f.foretag_id"

fungerar kanon ju men jag la till ett stycke och då sket det sig genast:

SQL = "Select k.namn as kund, f.namn as foretag From (tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id) inner join tbl_foretag f on fa.foretag_id = f.foretag_id inner join tbl_faktura_artiklar faa on fa.faktura_id = faa.faktura_id"

ger följande fel:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'fa.foretag_id = f.foretag_id inner join tbl_faktura_artiklar faa on fa.faktura_id = faa.faktura_id'.
/faktura/faktura.asp, line 85

Hur ska jag göra??

Mvh

LarsGMedlem sedan dec. 200012 464 inlägg
#14
SQL = "Select k.namn as kund, f.namn as foretag From ((tbl_kunder k inner join tbl_fakturor fa on k.kund_id = fa.kund_id) inner join tbl_foretag f on fa.foretag_id = f.foretag_id) inner join tbl_faktura_artiklar faa on fa.faktura_id = faa.faktura_id"
136 ms totalt · 3 externa anrop · v20260731065814-full.c74b5be1
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)