שלח תשובה

זירת השאלות

402
צפיות
18
תשובות

העברת נתונים

,‏ 18 באוגוסט, 2004

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

תגיות:

18 תשובות

  1. itay26 הגיב:

    לא מובן….
    נסה להסביר בצורה יותר מדויקת…

    אולי תן דוגמא.

    לפי מה שנראה לי שהבנתי אתה צריך לבצע שתי שאילתות ולהוציא ולרוץ בלולאה..

    אבל תסביר את עצמך…

    איתי.

  2. פחן הגיב:

    אני יסביר
    יש לי טבלה עםלקוחות והפרטים שלהם לדוגמא:
    id-1234
    יוסי אהרון
    פתח תקוה
    03-9322726

    יש לי טבלה נוספת שבה מופיע הid והשיוך של הלקוח לצפון הארץ או לדרומה לדוגמא:
    שדה id      
    1234
    שדה שיוך דרום הארץ
    אני רוצה לשלוף מהטבלה השנייה(שיוך) את כל המספרי id ששייכים לדרום הארץ ואח"כ למשוך ע"פ תוצאות השליפה הראשונה את כל הלקוחות של השליפה הראשונה מהטבלה הראשונה ולהעביר אותם לטבלה אחרת לגמרי שתכיל רק את הלקוחות המשוייכים לדרום הארץ.
    מקווה שיותר מובן.

  3. itay26 הגיב:

    או.קי
    באיזה שפה אתה כותב.

    אתה צריך לבצע שאילתות אם תתן לי את השפה אני אנסה לרשום לך קוד…

    בתודה
    איתי.

  4. ניר טייב הגיב:

    תשתמש ב-SELECT INTO וב-JOIN
    זה התחביר של SELECT INTO

    SELECT <fields> INTO newTable FROM tbl

    SELECT INTO יוצר טבלה שעדיי ןלא קיימת ממידע של טבלאות אחרות

  5. Select into נועד לצורך גיבוי נתונים
    והטבלאות האלה שלך לא בנויות נכון, אתה צריך להוסיף לטבלת הלקוחות עמודה שמכילה את הid של מיקום הלקוח.
    ולטבלת השיוך צריכים להיות שני שדות, שדה id של מיקום ושדה שהוא שם המיקום.
    ואז לעשות קשר גומלין יחיד לרבים בין שתי הטבלאות (שיוך – יחיד, לקוחות – רבים) ולבצע שאילתה כזו:

    SELECT <fields> INTO tbl_backup FROM clients INNER JOIN tbl_locations ON clients.locationId=tbl_locations.id

  6. אופס.. ניר
    לא התכוונתי להגיב להודעה שלך, רציתי להגיב לזה עם הבעיה..

  7. ניר טייב הגיב:

    כדי לגבות נתונים
    מייצאים לקובץ XML (בד"כ כאשר מדובר באקסס וב-MSSQL בדרך אחרת)  מתוך המסד
    SELECT INTO נועד ליצרת טבלה מנתונים שקיימים בטבלה(/אות) אחר(ו)ת

  8. עדיין,
    SELECT INTO גם יכול לשמש לצורך גיבויים.

  9. ניר טייב הגיב:

    לדעתי כאשר מגבים נתונים
    אז בכוונה מייצאים כי מן הסתם אם למישהו יש גישה למסד (כאשר לא צריך להיות לו (כמו פרצה למשל)) אין סיבה שלט תהיה לו גישה גם לטבלת הגיבוי
    כמו כן אם יש בעייה עם המסד גיבוי נתונים בטבלה בתוך המסד לא תעזור כי יש בעיה במסד עצמו

  10. אתה צודק..
    אבל יש כאלה שלא יודעים לייצא בעזרת XML.

  11. prince01 הגיב:

    תרגום למה שהוא רשם
    נושא : " כגדכ "
    תוכן : " גד ג "

    כך שלא נראה לי שהוא התכוון לומר משהו

  12. ניר טייב הגיב:

    ב-FAQ מוסבר איך לייצא בעזרת ASP
    לקבצי XML ויש מאמר באתר על איך לייצא לקובץ שאני לא זוכר את שמו

    על כל פנים כדי ייצא ל-XML ידנית דרך המסד עושים כך:
    1) לוחצים על שאילתא, טבלה או דו"ח
    2) לאחר מכן לוחצים בתפריט FILE על SAVE AS
    3) מסמנים XML בסוג הקובץ נותנים שם ולוחצים SAVE

  13. זה שאמרתי שיש כאלה שלא יודעים
    לייצא לXML זה לא אומר שלא ידעתי אבל לא משנה..
    בכל מקרה, אפשר לגבות עם select into ע"י יצירת טבלה חדשה שכוללת את הנתונים מהשליפה הנוכחית במסד אחר.

    ועכשיו אני מסיים לכתוב מאמר קטן על select into ואני יציין שמגבים גם עם XML..

  14. פחן הגיב:

    השתמשתי במשפט sql


    SELECT <fields> INTO newTable FROM tbl


    הבעייה היא שנתון שהוא שדה מסוג:
    כן/לא
    מועבר לטבלת הגיבוי כ-1 ו-0
    איך ניתן להמיר זאת לשדה כן לא???

  15. ניר טייב הגיב:

    0 ו-1
    הם שווי ערך לשדות בוליאניים (כן/לא בביטויים של אקסס)

שלח תשובה