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

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

BlueNosE 14-02-07 18:38

תחביר שליפה מרובה בSQL
 
היי..

יש לי את השאילתא הבאה:
קוד:

SELECT * FROM members m, skills s WHERE m.id='{$id}' IN (s.id = m.id)
אני רוצה לשלוף את הנתונים המתאימים גם מmembers וגם מskills בשאילתא אחת.
הבעיה היא שזה צריך להיכנס ל2 מערכים נפרדים, אחד user ואחד skills.
יש דרך לקבל את התוצאות כמערך בתוך מערך?

אגב השאילתא המקורית מחולקת ל2:
קוד:

--1
SELECT * FROM members WHERE id='{$id}'
--2
SELECT * FROM skills WHERE id='{$id}'


RS324 14-02-07 20:25

אתה יכול לפרט את כל השדות שיש ב2 הטבלאות
ואת השדות המדוייקים שאתה רוצה....

BlueNosE 14-02-07 20:29

ציטוט:

נכתב במקור על ידי RS324 (פרסם 423265)
אתה יכול לפרט את כל השדות שיש ב2 הטבלאות
ואת השדות המדוייקים שאתה רוצה....

זאת בעיה בשבילי, כי אני מוסיף ומחסיר שדות הרבה.
אין מה לעשות חוץ מAS?

Dr-Host 14-02-07 20:54

תנסה
SELECT `members`.*, `skills`.* FROM members, skills WHERE ((`members`.* WHERE `id` = '{$id}') AND (`skills`.* WHERE `id` = '{$id}'))

או

SELECT `members`.*, `skills`.* FROM members, skills WHERE (`members`.* WHERE `id` = '{$id}' AND `skills`.* WHERE `id` = '{$id}')

RS324 15-02-07 15:59

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 423269)
זאת בעיה בשבילי, כי אני מוסיף ומחסיר שדות הרבה.
אין מה לעשות חוץ מAS?

אתה יכול להוסיף אבל אם יש 2 שדות עם אותו שם בטבלאות האלה
וזה לא מקדם ההשוואה שלך
אז הוא יכתוב לך משהו בסגנון

column 'XXX' is ambiguous

או משהו בסגנון...


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

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