עזרה באקסס יצירת שאילתת עדכון עם פרמטרים

Aיוסי

משתמש רשום
יש לי טבלה עם 4 עמודות, בעמודה א’ יש שם, בעמודה ב’ יש משפחה, ובעמודה ג’ יש מספר טלפון, ואני רוצה שהשדה הרביעי יתעדכן לפי ג’ השדות הראשונים.

איך? יש לי טבלה נוספת שבה כבר יש את כל הנתונים שיש בטבלה הראשונה אבל עם עוד מלא רשומות שאני לא צריך, ואני רוצה לעשות שאילתת עדכון לעמודה הרביעית בטבלה א’ ע"פ ג’ השדות הראשונים שיושוו לשדות בטבלה ב’ מהטבלה הראשונה לשנייה, איך אני עושה כזו שאילתה?

ז"א בעברית פשוטה שאני מבין והמחשב לא: חפש בטבלה ב’ רשומה שעמודות א’ ב’ וג’ תואמות לעמודות א’ ב’ וג’ ברשומה בטבלה א’, מצאת? יופי! עכשיו קח מהרשומה התואמת בטבלה ב’ את עמודה ד’ ועדכן אותה ברשומה התואמת בטבלה א’…

אשמח מאוד עם מישהו יוכל לעזור לי בזה!!
 

Aיוסי

משתמש רשום
UPDATE TABLE_1
SET NEW_COLUMN = (SELECT COLUMN_4
FROM TABLE_2 t2
WHERE table_1.COLUMN_1 = t2.COLUMN_1
.... and table_1.COLUMN_2 = t2.COLUMN_2
);​
אני מנסה לעשות כך, אבל זה לא עובד לי..
SQL:
UPDATE טבלה1 SET טבלה1.ערך5 = (SELECT ערך52
FROM טבלה1 טבלה2
WHERE טבלה2.ערך1 = טבלה1.ערך1
and טבלה2.ערך2 = טבלה1.ערך2
and טבלה2.ערך3 = טבלה1.ערך3
and טבלה2.ערך4 = טבלה1.ערך4
);
זה מקפיץ חלונית לבקשת פרמטרים ואז חלונית הודעה, שהשאילתה חייבת להיות ניתנת לעידכון..
הערך לעידכון הוא "טבלה1.ערך5" מתוך "ערך52".והקריקטריונים הם השוואה של שאר העמודות בין שני הטבלאות.
 

ארי4791

משתמש צעיר
אתה צריך לשנות את השמות של הטבלאות והעמודות לטבלאות והעמודות שיש בקובץ שלך...
'ערך52', 'טבלה2' וכו' זה רק לדוגמא.
אם אתה רוצה ממש עזרה תכתוב מה השמות של הטבלאות והעמודות שיש לך.
 

Aיוסי

משתמש רשום
אתה צריך לשנות את השמות של הטבלאות והעמודות לטבלאות והעמודות שיש בקובץ שלך...
'ערך52', 'טבלה2' וכו' זה רק לדוגמא.
אם אתה רוצה ממש עזרה תכתוב מה השמות של הטבלאות והעמודות שיש לך.
יש שני טבלאות.
הראשונה: info ובה יש 4 שדות, First name, Family, Tel, Id
השנייה: infonew ובה יש ג' שדות התואמים לטבלה info והם First name, Family, Tel.
כעת אני רוצה להוסיף את השדה id גם בטבלה השנייה ולעדכנו לפי פרמטר של ג' השדות הראשונים שתואמים בין הטבלאות.
תודה!
 

ארי4791

משתמש צעיר
SQL:
UPDATE infonew SET infonew.id = (SELECT id
FROM info t1
WHERE info.[First name] = infonew.[First name]
and info.Family = infonew.Family
and info.Tel = infone .Tel);

תנסה.
(כמובן קודם תוסיף את השדה id בטבלה השניה)
 

Aיוסי

משתמש רשום
בהתחלה
SQL:
UPDATE infonew SET infonew.id = (SELECT id
FROM info t1
WHERE info.[First name] = infonew.[First name]
and info.Family = infonew.Family
and info.Tel = infone .Tel);

תנסה.
(כמובן קודם תוסיף את השדה id בטבלה השניה)
הקפיץ לי הודעה שאין טבלה בשם T1 אז שיניתי את השורה השנייה ל "FROM info infonew"
ואז זה ההודעה שאני מקבל:
1645297891989.png


אז תיקנתי את הטעות שבשורה האחרונה ואז בהפעלה הוא שוב מקפיץ חלונית שמבקשת פרמטרים לריצה...
 
נערך לאחרונה ב:

ארי4791

משתמש צעיר
SQL:
UPDATE infonew SET infonew.id = (SELECT id
FROM info t1
WHERE t1.[First name] = infonew.[First name]
and t1.Family = infonew.Family
and t1.Tel = infonew.Tel);

ועכשיו?
 

ארי4791

משתמש צעיר
תנסה את זה:
SQL:
UPDATE infonew INNER JOIN info ON (infonew.tel = info.tel) AND (info.family = infonew.family) AND (infonew.[first name] = info.[first name]) SET infonew.id = [info].[id]
 

ארי4791

משתמש צעיר
יש לקחת בחשבון שאם אחד השדות ריק העדכון לא יעבוד
בדקתי את זה עם שדה ריק וזה עבד מצוין, פשוט לא עדכן את הרשומה הזו.
 

אפר

סתם מתעניין...
מנוי פרימיום
יש לקחת בחשבון שאם אחד השדות ריק העדכון לא יעבוד
בדקתי את זה עם שדה ריק וזה עבד מצוין, פשוט לא עדכן את הרשומה הזו.
בהחלט זה מה שהתכוונתי
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכח

א שִׁיר הַמַּעֲלוֹת אַשְׁרֵי כָּל יְרֵא יְהוָה הַהֹלֵךְ בִּדְרָכָיו:ב יְגִיעַ כַּפֶּיךָ כִּי תֹאכֵל אַשְׁרֶיךָ וְטוֹב לָךְ:ג אֶשְׁתְּךָ כְּגֶפֶן פֹּרִיָּה בְּיַרְכְּתֵי בֵיתֶךָ בָּנֶיךָ כִּשְׁתִלֵי זֵיתִים סָבִיב לְשֻׁלְחָנֶךָ:ד הִנֵּה כִי כֵן יְבֹרַךְ גָּבֶר יְרֵא יְהוָה:ה יְבָרֶכְךָ יְהוָה מִצִּיּוֹן וּרְאֵה בְּטוּב יְרוּשָׁלִָם כֹּל יְמֵי חַיֶּיךָ:ו וּרְאֵה בָנִים לְבָנֶיךָ שָׁלוֹם עַל יִשְׂרָאֵל:
נקרא  20  פעמים

לוח מודעות

למעלה