我是SQL查詢字段中的新成員,但我可以執行一些查詢。我想在表格行中添加相關數據並將它們顯示在同一列中。下面是包含數據的表:如何添加來自不同行的數據並將它們顯示爲sql查詢中的一行的列
任何幫助將不勝感激。在此先感謝
我是SQL查詢字段中的新成員,但我可以執行一些查詢。我想在表格行中添加相關數據並將它們顯示在同一列中。下面是包含數據的表:如何添加來自不同行的數據並將它們顯示爲sql查詢中的一行的列
任何幫助將不勝感激。在此先感謝
如果實際上只有3個問題,並假設表被評爲學生,你可以做這樣的事情:
select studentid AS Student,
(select Questionpoints from Student where studentid = a.studentid and Questionid = 8) AS Qn1,
(select Questionpoints from Student where studentid = a.studentid and Questionid = 9) AS Qn2,
(select Questionpoints from Student where studentid = a.studentid and Questionid = 10) AS Qn3
from Student as a
group by studentid;
注意:我稍微改變了列名,所以不要只是複製和過去;) –
謝謝@理查德。這適用於已知的Questionid,我想問問是否有可能在Questionid未知時執行此操作。以上表格僅適用於一門課程,如果我爲下一門課程添加問題,則會向各個學生添加新的課程表。我可以在不指定Questionid的情況下執行此操作謝謝 – Jef
@Jef 如果它仍然只有3個問題,只是不同的問題,你可以用'從第一個問題的學生順序通過問題點限制1選擇問題點'來替換具體值並且'從問題點的學生順序中選擇問題點限制1 OFFSET 1'爲第二個問題,依此類推。這很簡單,但可能不是一個非常優雅的解決方案,可能性能很差。 –
樞紐。按用例表達式來做一個組。 – jarlh
考慮如何處理表示層/應用程序級代碼中的數據顯示問題,假設您有這樣的問題(例如,對一個有序數組採用簡單的PHP循環)。 – Strawberry
每個學生只有3分? – keronconk