我正在尝试合并两个表.一个student表和department表,但我不希望失去任何没有学生的部门.当我使用时,NATURAL JOIN我丢失它们,因为主键是,DEPT_ID而某些部门没有学生,因此它们不会出现在合并表中.我试过看其他合并表的方法到目前为止我没有运气.
我的尝试:
SELECT DEPT_NAME,
COUNT(DISTINCT STUDENT_ID) AS NumberOfStudentsInDepartment
FROM Students RIGHT JOIN Departments
GROUP BY DEPT_NAME
ORDER BY 2 DESC, 1 ASC;
Run Code Online (Sandbox Code Playgroud) 我fwrite用来存储一个叫QVector的值rawData.
这是我的代码:
unsigend short* ptr = rawdata();
FILE * pFile;
pFile = fopen("arrayValues.txt", "a");
fwrite(ptr, sizeof(unsigned short), sizeof(rawData), pFile);
fclose(pFile);
Run Code Online (Sandbox Code Playgroud)
上面的程序"工作"意味着我能够写入文件,当我用十六进制编辑器打开文件时,我可以看到那里的东西.但是,它只写一帧的值然后停止,即使程序一遍又一遍地调用该方法.
更奇怪的是,如果我关闭程序并再次运行它,它将打开文件(已经有最后一次运行的值),并在最后添加一组新的值.所以我知道我在追加模式下打开文件.