15-05-2012, 14:45
|
|
\dev\null
|
|
חבר מתאריך: 08.11.02
הודעות: 11,379
|
|
כיצד להפוך שורות לעמודות ?
יש לי טבלה בשם profile_fields עם העמודות fid, title, name
קוד:
fid title name
--- ------ ------
1 he_name שם בעברית
22 sister_name שם האחות
57 ....
וטבלה אחרת בשם profile_values ששומרת את הערכים כשורות עבור כל משתמש
קוד:
uid fid value
--- --- -----
1 22 שושנה
1 1 שימשון
29 1 נחמה
מצאתי את הקוד הבא:
קוד:
SELECT uid, max(if(fid=1,value,' ')) as '#1',
max(if(fid=2,value,' ')) as '#2',
max(if(fid=3,value,' ')) as '#3',
....
FROM profile_values GROUP BY uid;
והוא עומד יפה, אבל אני צריך לשכפל את השורות עבור על שורה של fid
האם ניתן להפוך את הקטע קוד הזה ליותר דינאמי ? כך שלא משנה כמה שורות יהיו לי של fid ב-profiles_field העמודות יווצרו בהתאם.
מצטער מראש, SQL זה לא התחום שלי
נ.ב מדובר ב-MySQL
|