2011-08-08 6 views
1

je la requête MySQL suivanteLe passage d'une valeur à une requête imbriquée dans MySQL

SELECT lp.profileTitle, lp.lessonLength AS length, la.validFrom, la.validTo, ow.firstname, ow.surname, ow.outworker_id 
FROM lessonProfile AS lp, lessonAvail AS la, outworker AS ow, outworkerAssign AS oa 
WHERE lp.lessonProfileId = profileId 
AND oa.lessonProfileId = lp.lessonProfileId 
AND oa.outworkerId = ow.outworker_id 
AND validFrom <= '2011-08-23' 
AND (validTo >= '2011-08-23' OR validTo = '0000-00-00') 
AND ow.outworker_id <> (SELECT ow.outworker_id 
      FROM outworker AS ow, bookingDiary AS bd 
      WHERE bd.outworkerId = ow.outworker_id 
      AND (bd.startTime BETWEEN '2011-08-23 12:00:00' AND DATE_ADD('2011-08-23 12:00:00', INTERVAL 60 MINUTE) 
      OR DATE_ADD(bd.endTime, INTERVAL (IFNULL(break,0)) MINUTE) BETWEEN '2011-08-23 12:00:00' AND DATE_ADD('2011-08-23 12:00:00', INTERVAL 60 MINUTE) 
      OR bd.startTime <= '2011-08-23 12:00:00' AND DATE_ADD(bd.endTime, INTERVAL (IFNULL(break,0)) MINUTE) >= DATE_ADD('2011-08-23 12:00:00', INTERVAL 60 MINUTE))) 

Je dois passer la valeur de longueur de la première ligne à la requête imbriquée à la place du INTERVALLE 60 MINUTE

Pour que la requête imbriquée soit INTERVAL longueur MINUTE

Mais je suis coincé!

Répondre

2

Vous pouvez le référencer à l'intérieur de la requête imbriquée simplement comme lp.lessonLength.

+0

Je me sens stupide! Merci personne, problème résolu. –

Questions connexes