devotionMedlem sedan jan. 20013 582 inlägg:) :e
Hej!
Har ett problem som jag inte lyckas få till...
Jag har fyra tabeller tblUsers, tblTime, tblTask och tblOtherTime.
tblTask är joinad med tblTime. tblTask innehåller uppdragsinformation och tblTime tidsinformation om uppdraget.
Dessa tabeller hör till en befintlig applikation.
Jag har lagt till en tabell som heter tblOtherTime som ska hantera "avvikelsetid" dvs sjukdom, ledighet, semester mm.
Jag vill loopa ut all information för att kunna presentera en "rapport" där både info kommer från tblTask/tblTime och tblOtherTime. Dvs både uppdrag och eventuell avvikelse tid skall skrivas ut.
Något såhär:
2005-05-02 07:00:00 - 16:00:00 Uppdrag 1
2005-05-03 07:00:00 - 12:00:00 Uppdrag 2
2005-05-03 12:00:00 - 16:00:00 Vård av sjukt barn
2005-05-04 07:00:00 - 16:00:00 Semester
2005-05-04 07:00:00 - 16:00:00 Uppdrag 3
Denna info skall hämtas från två tabeller enligt nedan:
post 1 tblTask/tblTime
post 2 tblTask/tblTime
post 3 tblOtherTime
post 4 tblOtherTime
post 5 tblTask/tblTime
Jag vet att om jag hade ´gjort det från början skulle en annan databasstruktur valts, men nu är det som det är och det går inte ändra...
Finns det någon vänlig själ som har någon lösning på detta delikata problem????
Mvh
Henrik
LLarsGMedlem sedan dec. 200012 464 inlägg Beskriv hur tabellerna är definierade (i form av create table) när du frågar något
select ti.date,ta.taskName
from tblTask ta
join tblTime ti on ta.??? = ti.???
union all
select date,otherTimeName
from tblOtherTime
order by date desc
Flyttas från ASP
devotionMedlem sedan jan. 20013 582 inlägg:)
Hej!!
Jo, det fungerade ju!!!
SELECT tblTask.startDate, tblTask.StopDate, tblTask.Task, tblTask.TaskNr, tblTime.Time, tblTime.User
FROM tblTask
INNER JOIN tblTime ON tblTask.Id = tblTime.TaskId
WHERE tblTime.User = 'Henrik'
UNION ALL
SELECT StartDate, StopDate, Spec, Kod, Time, User
FROM tblOtherTime
WHERE User = 'Henrik'
ORDER BY tblTask.StartDate DESC;
Har mixtrat lite med koden så nu ser den ut som ovan. Är WHERE-delen rätt? jag fick ha den på två ställen för det skulle fungera...
Hur fungerar UNION?
Mvh
Henrik
CompusaMedlem sedan jan. 20023 327 inlägg
The UNION command is used to select related information from two tables, much like the JOIN command. However, when using the UNION command all selected columns need to be of the same data type.
Note: With UNION, only distinct values are selected.
http://www.w3schools.com/sql/sql_union.asp