我有一個名為Notes的表格:
我想這樣顯示:
select n1.note_ecrit, n1.note_tp, n1.note_total, n2.note_ecrit, n2.note_tp, n2.note_total
from Notes n1
inner join Notes n2 on n1.cne = n2.cne
uj5u.com熱心網友回復:
你的問題不是很清楚,希望我的理解正確。如果你想手動列出一個又一個的列,最簡單(遠非最好!)的解決方案是簡單地使用嵌套查詢:
SELECT n1.note_ecrit, n1.note_tp, n1.note_total。
(SELECT n2.note_ecrit FROM Notes n2 on n1.cne = n2.cne) as note_ecrit。
(SELECT n2.note_tp FROM Notes n2 on n1.cne = n2.cne) as note_tp。
(SELECT n2.note_total FROM Notes n2 on n1. cne = n2.cne) as note_total
FROM Notes n1
注意:你不用太擔心性能問題,3次查詢3個獨立的列。在大多數情況下,SQL服務器將以一種方式構建查詢,它將在內部只查詢一次記錄。但這并不是理所當然的;當性能很重要時,總是要測驗各種選項以獲得最佳結果。
在某些情況下,更好的方法可能是使用 SQL 服務器的 STRING_AGG 函式來將值列在一個結果欄位中,而這種輸出格式是可以接受的。
uj5u.com熱心網友回復:
你是在正確的軌道上。 只要包括id_session就可以了:
select n1.not_ecrit, n1.not_tp, n1.not_total, n2.not_ecrit, n2.not_tp, n2.not_total
from筆記n1 join
注釋n2
on n1.cne = n2.cne
where n1.id_session = 1 and
n2.id_session = 2。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/314841.html
標籤:


