So I've gotten this:
SELECT dat.bplid,
seq.firstpd,
COUNT(*),
Avg(dat.ibi)
FROM [H23S3] AS seq
INNER JOIN [Time_1_Conflict_Husband] AS dat
ON seq.bplid = dat.bplid
AND dat.pd BETWEEN seq.firstpd AND seq.firstpd + 4
GROUP BY dat.bplid,
seq.firstpd
ORDER BY dat.bplid,
seq.firstpd
Which in theory should work, but I can't test it and get the following error:
Code:
Between operator without And in query expression ".

I've also tried slightly different formatting and gotten the same error
SELECT dat.[bplid],
seq.[firstpd],
COUNT(*),
AVG(dat.[ibi])
FROM [H23S3] AS seq
INNER JOIN [Time_1_Conflict_Husband] AS dat
ON seq.[bplid] = dat.[bplid]
AND dat.[pd] BETWEEN seq.[firstpd] AND seq.[firstpd] + 4
GROUP BY dat.[bplid],
seq.[firstpd]
ORDER BY dat.[bplid],
seq.[firstpd];
Should I make a new thread for this error?
To make it easier to understand:
SELECT dat.[bplid], (id field from table 1)
seq.[firstpd], (field that defines the beginning of the range from table 2)
COUNT(*), (counts number of rows, not needed, just for error checking)
AVG(dat.[ibi]) (field to be averaged from table 1)
FROM [H23S3] AS seq (table 2 defined as 'seq')
INNER JOIN [Time_1_Conflict_Husband] AS dat (table 1 defined as 'dat')
ON seq.[bplid] = dat.[bplid] (ID fields are the same/actual join)
AND dat.[pd] BETWEEN seq.[firstpd] AND seq.[firstpd] + 4 (the range that needs to be averaged as defined in table 2)
GROUP BY dat.[bplid], (sorting info)
seq.[firstpd]
ORDER BY dat.[bplid],
seq.[firstpd];