webForumDet fria alternativet

Info från två tabeller och distinct

Databaser & SQLur Databashanterare & SQL

4 svar · 230 visningar · startad av m_soderlund

Medlem sedan sep. 20026 425 inlägg
Frågan#1

Jag har två tabeller, en som heter tbl_anstallda (info om anställda) och en som heter tbl_franvaro (här registreras frånvaro ;)).

Jag kör SQL-frågan nedan mot databasen och plockar ut info ur båda tabellerna. Föga överraskande så ger distinct inte unika poster från tbl_anstallda, vilket är meningen.
Eftersom en anställd kan vara frånvarande flera gånger, så visas info om den anställde för varje gång denne varit frånvarande, tillsammans med datum för frånvaro. :l

SELECT distinct tbl_anstallda.fornamn,tbl_anstallda.efternamn,tbl_anstallda.dt_anstallning,tbl_anstallda.timlon
,tbl_anstallda.manadslon,tbl_anstallda.telnr_hem,tbl_anstallda.telnr_mobil,tbl_anstallda.anstallningsid
,tbl_franvaro.dt_start,tbl_franvaro.dt_slut,tbl_franvaro.f_orsak
FROM tbl_anstallda,tbl_franvaro
WHERE tbl_anstallda.id=" & fixr(Request.Querystring("id"))
AND tbl_anstallda.id = tbl_franvaro.aid

Alltså - jag vill plocka ut all info om en anställds frånvaro ur tbl_franvaro, men slippa skriva ut info om en anställd för varje gång denne varit frånvarande.

Jag antar att en SQL-fråga utan distinct också skulle kunna fungera. Jag använder MS Access 2002.

Som alltid är jag ytterst tacksam för hjälp. :D

Medlem sedan mars 20015 287 inlägg
#2

Rätta mig om jag har fel, men det är väl en fråga om hur du skriver ut den data du plockat ut.
Du behöver ju inte printa ut på sidan lirarens namn gång på gång.

Medlem sedan sep. 20026 425 inlägg
#3

Saken är den att jag vill bara skriva ut namn och lite annan info från tbl_anstallda-tabellen, men för varje gång denne anställd varit frånvarande skrivs all info ut igen! Man kan väl köra nån villkorssats - eller förenkla och förbättra SQL-frågan. Jag föredrar det senare. :D

Jag kan ju ha 2 SQL-frågor, en som hämtar info ur tbl_anstallda och en som hämtar info ur tbl_franvaro - men då tänkte jag att det går ju med en SQL-fråga. (Borde gå ;).)

Medlem sedan juni 200032 969 inlägg
#4

Jag förstår inte problemet. Ska du skriva ut datan så måste den finnas i recordsetet. Du behöver inte skriva ut allt som finns i recordsetet.

Vill du ha det i en fråga, då får du dubbeldata för alla anställda, men det är något du får hantera i applikationen. Det är ju bara att välja att inte skriva ut den informationen mer än en gång?

(Liten omskrivning av vad solbulle menade. ;) )

Mvh

Medlem sedan sep. 20026 425 inlägg
#5

Jahapp.. Då får jag väl skriva om lite kod. :) Tackar för hjälpen!

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