
03-10-2009, 19:02
|
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
אתה צריך לכתוב בצורה כזו שיהיה קל להתייחס למידע שאתה מספק, לדוגמא:
"אני עובד עם SQL SERVER וצריך להעתיק נתונים מטבלה א' לטבלה ב', לפי זמן מסוים שמאוחסן בפורמט unix timestamp בטור ששמו time שקיים ב-2 הטבלאות. ההעברה תבוצע בהתאם לטור id שזהה ב-2 הטבלאות".
דרך פתרון אחת היא גנרית יותר וקלה יותר - להשתמש ב- triggers אם מסד הנתונים ההוא מאפשר לך.
אם לא, אז השאילתא הבאה כנראה תעזור:
קוד:
UPDATE `tbl_A`
INNER JOIN (
SELECT `colA`, `colB`
FROM `tbl_B`
WHERE `time` BETWEEN 123 AND 223
) AS `t_in` USING (`id`)
SET
`tbl_A`.`colA` = `t_in`.`colA`,
`tbl_A`.`colB` = `t_in`.`colB`
אני חושב שעדיף שתספר לנו את המקרה בכלליותו כדי לראות אם אפשר למנוע את הצורך בשאילתות כאלה.
|