אבל שעשיתי view ב-ACCESS בשילוב עם ה-innerJoin(בקוד) אז קיבלתי את הערכים שנמצאים רק בטבלה אחת ואת שאר הערכים לא קיבלתי. וגם איך אני בוחר אילו מהשדות שאני מאחד אותם עם הטבלה (מה שאני לוקח עם ה-JOIN) יוצגו (שדות ספציפיים)? או שבשביל זה אני צריך לעשות join כמו שיש כאן במדריך ה-SQL ?
SELECT forum.id, forum.parentID, forum.subject, forum.message, forum.date, forum.rootID FROM forum INNER JOIN members ON forum.userId = members.id WHERE forum.rootID in ( SELECT TOP 20 fixedForum.rootID FROM fixedForum ORDER BY fixedForum.rootID, fixedForum.MAXdate ) ORDER BY forum.rootID, forum.parentID DESC, forum.date ASC, forum.id DESC;
ואני מקבל רק את השדות מטבלת forum ואת שאר השדות מטבלת members אני לא רואה למה זה קורה ?
SELECT forum.id, forum.parentID, forum.subject, forum.message, forum.date, forum.rootID, members.userName, members.fields1 FROM forum INNER JOIN members ON forum.userId = members.id WHERE forum.rootID in ( SELECT TOP 20 fixedForum.rootID FROM fixedForum ORDER BY fixedForum.rootID, fixedForum.MAXdate ) ORDER BY forum.rootID, forum.parentID DESC, forum.date ASC, forum.id DESC;
לא משנה מצאתי דרך לעשות זאת מלכת תחילה מערך חד מימדי. נתינת אותו מפריד לשורות ולעמודות לאחר מכן מורידים את התו האחרון (כדי שלא ייוצר עוד משהו במערך) ואז עושים פיצול פשוט <% var recArray = rs.getString(2,-1,";",";") %> <script> var recArray = "<% =recArray.substr(0,parseInt(recArray.length-1)) %>" recArray = recArray.split(";") for (var i=0;i<recArray.length;i++) document.write(recArray[i] + "<br>");
</script>
לדעתי זה יותר טוב כי ההעברה(מהשרת ללקוח) תתבצע יותר מהר בגלל חיסכון בתווים (גם כאן אין תקציב ). וגם עכשיו אני יכול להשתמש בשיטה שלי לעבודה עם מערכים חד מימדיים כמו בgetRows של JS
14 תשובות
ועוד שאלה איך אני
בוחר את הרשומות שאני רוצה להוציא ב-inner join ?
הכל הכל
ב FAQ בתפוז
על אינר ג'וין תוכל לקרוא
, והפרנציפ די דומה לגבי הג'וינים האחרים – קרא .ההסבר של דגון די טוב, אם לא כ"כ הבנת קרא את כל השרשור.
אבל שעשיתי view ב-ACCESS
בשילוב עם ה-innerJoin(בקוד) אז קיבלתי את הערכים שנמצאים רק בטבלה אחת ואת שאר הערכים לא קיבלתי. וגם איך אני בוחר אילו מהשדות שאני מאחד אותם עם הטבלה (מה שאני לוקח עם ה-JOIN) יוצגו (שדות ספציפיים)? או שבשביל זה אני צריך לעשות join כמו שיש כאן במדריך ה-SQL ?
תראה קצת קוד…
לא ממש הבנתי אותך.
עשיתי את ה-view הבא:
SELECT forum.id, forum.parentID, forum.subject, forum.message, forum.date, forum.rootID
FROM forum
INNER JOIN members
ON forum.userId = members.id
WHERE forum.rootID in (
SELECT TOP 20 fixedForum.rootID
FROM fixedForum
ORDER BY fixedForum.rootID, fixedForum.MAXdate
)
ORDER BY forum.rootID, forum.parentID DESC, forum.date ASC, forum.id DESC;
ואני מקבל רק את השדות מטבלת forum ואת שאר השדות מטבלת members אני לא רואה למה זה קורה ?
שאלה על מערכים
השמשתי ב-getString וקיבלתי מערך דו מימדי עכשיו אני רוצה להפוך אותו למערך חד מימדי איך אני עושה זאת ?
זה המערך שקיבלתי :
[[field1][field2][field3]]
השאלה היא איך אני הופך אותו למערך חד מימדי ?
ברור שהוא מחזיר לך רק מטבלה אחת
לא הגדרת לו אילו שדות להציג מטבלת members…
רגע אני צריך לעשות אז כך למשל
SELECT forum.id, forum.parentID, forum.subject, forum.message, forum.date, forum.rootID, members.userName, members.fields1
FROM forum
INNER JOIN members
ON forum.userId = members.id
WHERE forum.rootID in (
SELECT TOP 20 fixedForum.rootID
FROM fixedForum
ORDER BY fixedForum.rootID, fixedForum.MAXdate
)
ORDER BY forum.rootID, forum.parentID DESC, forum.date ASC, forum.id DESC;
?
כן
טוב אני אחדד את השאלה
איך אני עושה שהמחרוזת המתקבלת מ-getString תהיה בפורמט של VBarray ?
תשתמש ב-JOIN
כן אבל הוא עובד גם על מערכים
דו מימדיים ?
על כל מימד בנפרד, כמובן
לא משנה מצאתי דרך לעשות
זאת מלכת תחילה מערך חד מימדי.
נתינת אותו מפריד לשורות ולעמודות לאחר מכן מורידים את התו האחרון (כדי שלא ייוצר עוד משהו במערך) ואז עושים פיצול פשוט
<%
var recArray = rs.getString(2,-1,";",";")
%>
<script>
var recArray = "<% =recArray.substr(0,parseInt(recArray.length-1)) %>"
recArray = recArray.split(";")
for (var i=0;i<recArray.length;i++)
document.write(recArray[i] + "<br>");
</script>
לדעתי זה יותר טוב כי ההעברה(מהשרת ללקוח) תתבצע יותר מהר בגלל חיסכון בתווים (גם כאן אין תקציב ). וגם עכשיו אני יכול להשתמש בשיטה שלי לעבודה עם מערכים חד מימדיים כמו בgetRows של JS