webForumDet fria alternativet

Vad är det här för funktion?

Databaser & SQL

6 svar · 304 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Tjenare på er!

Ofta när man kollar på avancerade SQL-frågor här på forumet så kan det t.ex se ut så här:

SELECT text.minText bla blabla

Alltså två ord som är ihopsatta med en punkt!

Varför görs detta, och vad har det för funktion?

:stud

Oskar

Medlem sedan juni 20014 421 inlägg
#2

tabell.fält

det görs för att databasen ska veta vilken tabell du åsyftar avända för det fältet, då man i komplexa frågor oftast väljer fält från mer än en tabell.

Medlem sedan juni 200032 967 inlägg
#3

tabellnamn.fältnamn

Om man i sin SQL-fråga använder två tabeller som innehåller fält med samma namn så måste du berätta vilket av dessa fält du avser.

Man kan också skriva så av tydlighetsskäl.

Medlem sedan nov. 20051 317 inlägg
#4

Aha, åfan okej!

Så jag kan göra så här med andra ord:

"SELECT SUM(case when adresser.KOrder = 1 then 1 else 0 end) as antalOrdrar, " & _
"SELECT SUM(case when kunder.KOrder = 1 then 1 else 0 end) as antalKunder, " & _

Utan att behöva köra med det här i slutet av frågan?
"FROM Arkiv WHERE sID = '"&RecSet("Namn")&"'"

Mvh
Oskar

Medlem sedan juni 200032 967 inlägg
#5

Nej, du måste ändå ha med FROM och allt annat nödvändigt.

Medlem sedan nov. 20051 317 inlägg
#6

men om jag både vill fråga adresser.KOrder och kunder.KOrder så kan jag ju inte hämta det FROM adresser WHERE sID = blablabla?

Medlem sedan juni 200032 967 inlägg
#7

Du får göra det antingen med två frågor eller med subqueries. (om du inte vill / ska joina ihop tabellerna vill säga.)

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)