הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה|שאילתה מסובכת (https://hosts.co.il/forums/showthread.php?t=65950)

Ron | CSite.co.il 04-08-08 21:59

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

מה שאני מנסה לעשות זה להוציא את כל הנתונים משתי הטבלאות,
שה NameMethodDefence שלהם הוא: XXmethodXX או tester2,
ולסדר אותם לפי ה Time מהזמן המאוחר אל הזמן המוקדם ביותר,
כך ששורה שה time שלה הוא המאוחר ביותר (לא משנה מאיזו טבלה) תופיע ראשונה וכך הלאה.


זו השאילתה:
PHP קוד:

SELECT newsattack.*,archivesnewattack.* 
FROM newsattack,archivesnewattack

WHERE newsattack
.NameMethodDefence='XXmethodXX' OR archivesnewattack.NameMethodDefence='XXmethodXX' OR newsattack.NameMethodDefence='tester2' OR archivesnewattack.NameMethodDefence='tester2' 
 
ORDER BY newsattack.Time AND archivesnewattack.Time DESC 

הבעיה היא שהשאילתה מציגה לי 9 רשומות (אף על פי שבשתי הטבלאות יחד יש בסה"כ 6),
ולא מסדרת לי את הזמנים כמו שצריך.

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

תודה רבה לכולם.

Osh 06-08-08 15:08

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

יניב בן צבי 06-08-08 15:11

למה עשיתה שתי טבלאות? אם יש להם אותם פרמטרים?
תיצור טבלה חדשה "תשפוך" את כול הנתונים של שתי הטבלאות לתוכה ותבדיל ביניהם לפי עמודה נוספת שתיצור ואחכ פשוט תעשה שזה יסדר לך את זה לפי Id ...
הכי פשוט ...

Ron | CSite.co.il 06-08-08 18:21

ציטוט:

נכתב במקור על ידי יניב בן צבי (פרסם 657230)
למה עשיתה שתי טבלאות? אם יש להם אותם פרמטרים?
תיצור טבלה חדשה "תשפוך" את כול הנתונים של שתי הטבלאות לתוכה ותבדיל ביניהם לפי עמודה נוספת שתיצור ואחכ פשוט תעשה שזה יסדר לך את זה לפי Id ...
הכי פשוט ...

בגלל יעילות.
בעיקרון באחת מהטבלאות יהיו חדשות (ויהיו בה הרבה רשומות,מס' המשתמשים*50 חדשות ביום לפחות),בנוסף אני קורא לטבלה הזו הרבה פעמים עם נתונים מתחדשים.

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

לדעתי טפשי להריץ כל פעם עוד מיליון רשומות(נגיד..) שאין לך צורך בהם,
כך שיותר יעיל לעשות 2 טבלאות לא ?

Sagi 06-08-08 19:20

תקרא על JOIN


כל הזמנים הם GMT +2. הזמן כעת הוא 12:06.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ