webForumDet fria alternativet

join problem

2 svar · 123 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

har denna sql-sats men den funkar ej.
tar jag bort de rader som är feta så funkar det, why?

Sqlta = "SELECT Ta.Id AS Taid, Ta.Description AS tadescription, "&_
"Ta.Userid AS Tauserid, Sp.Startdate AS Spstartdate, "&_
"Sp.Stopdate AS Spstopdate, Ar.Id AS Arid, "&_
"Ar.Areaname AS Arareaname, Ar.Areanumber AS Arareanumber, "&_
"Us.Username AS Ususername[b], Ina.Week AS Inweek [/b]"&_
"FROM Tasktbl Ta INNER JOIN Usertbl Us ON Ta.Userid = Us.Id "&_
"INNER JOIN Areatbl Ar ON Ta.Areaid = Ar.Id "&_
"INNER JOIN Specifieddaytbl Sp ON Ta.Id = Sp.Taskid "&_
[b]"INNER JOIN Intervaltbl Ina ON Ta.Id = Ina.Taskid "&_[/b]
"WHERE Sp.Startdate >= '" & Startdate & "' AND Sp.Startdate <= '" & Stopdate & "' OR "&_
"Sp.Stopdate >= '" & Startdate & "' AND Sp.Stopdate <= '" & Stopdate & "'[b] OR "&_
"Ina.Week = '" & Weekstart & "'[/b] ;"

jag får heller inga felmeddelanden, den visar bara inte några poster.

------------------
Motto: Flest If-taggar vinner!

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det kan man inte säga något om då det beror på vilket data du har i dina tabeller. I alla fall så borde du lägga till några parenteser i where.

Sqlta = "SELECT Ta.Id AS Taid, Ta.Description AS tadescription, "&_
"Ta.Userid AS Tauserid, Sp.Startdate AS Spstartdate, "&_
"Sp.Stopdate AS Spstopdate, Ar.Id AS Arid, "&_
"Ar.Areaname AS Arareaname, Ar.Areanumber AS Arareanumber, "&_
"Us.Username AS Ususername, Ina.Week AS Inweek "&_
"FROM Tasktbl Ta INNER JOIN Usertbl Us ON Ta.Userid = Us.Id "&_
"INNER JOIN Areatbl Ar ON Ta.Areaid = Ar.Id "&_
"INNER JOIN Specifieddaytbl Sp ON Ta.Id = Sp.Taskid "&_
"INNER JOIN Intervaltbl Ina ON Ta.Id = Ina.Taskid "&_
"WHERE (Sp.Startdate >= '" & Startdate & "' AND Sp.Startdate <= '" & Stopdate & "') OR ("&_
"Sp.Stopdate >= '" & Startdate & "' AND Sp.Stopdate <= '" & Stopdate & "') OR "&_
"Ina.Week = '" & Weekstart & "' "

Du får försöka dela upp det i mindre delar. Är det where delen som gör att du inte får någon träff eller är det join?

------------------
essentitia preter non sans multiplicandum

doggelitoMedlem sedan juni 20003 076 inlägg
#3

det måste vara joinen som ställer till det, jag provade att ta bort Ina.Week = '" & Weekstart & "' men den visar inget ändå.
Konstigt, de funkar ju var för sig:

Sqlta = "SELECT Blah... "&_
"FROM Tasktbl Ta INNER JOIN Usertbl Us ON Ta.Userid = Us.Id "&_
"INNER JOIN Areatbl Ar ON Ta.Areaid = Ar.Id "&_
"INNER JOIN Specifieddaytbl Sp ON Ta.Id = Sp.Taskid "&_
"WHERE Sp.Startdate >= '" & Startdate & "' AND Sp.Startdate <= '" & Stopdate & "' OR "&_
"Sp.Stopdate >= '" & Startdate & "' AND Sp.Stopdate <= '" & Stopdate & "' ;"

och...

Sqlta = "SELECT Blah..."&_
"FROM Tasktbl Ta INNER JOIN Usertbl Us ON Ta.Userid = Us.Id "&_
"INNER JOIN Areatbl Ar ON Ta.Areaid = Ar.Id "&_
"INNER JOIN Intervaltbl Ina ON Ta.Id = Ina.Taskid "&_
"WHERE Ina.Week = '" & Weekstart & "' ;"

då får jag resultat på båda.

------------------
Motto: Flest If-taggar vinner!

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