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

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

LeXos 22-12-09 16:37

איך אני שולף מכמה טבלאות במסד?
 
שלום, יש לי מסד שיש בו כמה טבלאות ואני רוצה לשלוף מכל הטבלאות ולהציג אותן, ביחד.
נגיד יש לי 3 טבלאות:
tables:
1 - movies
2 - apps
3 - games

ואני רוצה לשלוף את כל מה שיש בכל שלושת הטבלאות ולהציג אותן ביחד כלומר:

תוכנה | שם התוכנה
סרט | שם הסרט
תוכנה | שם התוכנה
משחק | שם המשחק
וכו'....

איך אני עושה את זה? לשלוף טבלה אחת זה לא הבעיה, הבעיה היא שזה יותר מטבלה אחת...

php

Hanan 22-12-09 20:38

PHP קוד:

mysql_query("SELECT tb1.title,tb2.title,tb3.title FROM movies AS tb1, apps AS tb2, games AS tb3"); 


GeffenMalki 22-12-09 20:42

או לעשות or או and אחרי הטבלה הראשונה.
בהצלחה!

daMn 22-12-09 20:47

תקרא על JOINים,
בשיטה הבסיסית אפשר גם ככה לעבוד
קוד:

SELECT a.name, m.name, g.name FROM movies m, apps a, games g

LeXos 22-12-09 22:42

קוד:

SELECT * FROM `ibf_reviews_movies`, `ibf_reviews_series` ORDER BY `reviews_movie_id` AND `reviews_series_id` DESC LIMIT 20
זה לא עובד.....
מבינים איך אני רוצה את השליפה?
כי הרי לכל טבלה יש גם פרמטר שונה בסידור, איך עושים את זה....

IgalSt 28-12-09 14:08

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

בכל מקרה, לפי המקרה שיש לך כעת נסה משהו כזה:
(לא בטוח שיעבוד, אבל שווה ניסיון)

קוד:

SELECT * FROM `ibf_reviews_movies`
Left Join `ibf_reviews_series`
ORDER BY `reviews_movie_id`, `reviews_series_id` DESC
LIMIT 20

כמו כן, השגיאה בשאילתא המקורית שלך (לפחות אחת מהן) היא ה- AND ב-Order By.
הוא לא חוקי שם, צריך להפריד ע"י הפסיק לפי העדיפות.


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

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