如何选择声明以避免重复项目
问题描述:
我可以知道如何选择一个项目而不重复吗?这是事情。如何选择声明以避免重复项目
我在学生桌上的第一列(例如:studentid = 123
)上的值相同。
而另一列在帐户表中具有相同的值(123
)。
如果我只想在学生表内连接帐户表中选择一个值,该怎么办?我使用distinct
,但它仍然给出两个值,因为其他列具有不同的值。
目前查询:
SELECT DISTINCT SAS_Student.SASI_MatricNo
,SAS_Student.SASI_Name
,SAS_Student.SASI_PgId
,SAS_Student.SASI_ICNo
,SAS_Student.SASI_CurSem
,SAS_AccountsDetails.TransTempCode
,SAS_AccountsDetails.TempAmount
,SAS_AccountsDetails.TempPaidAmount
,SAS_AccountsDetails.PostStatus
,SAS_AccountsDetails.Ref1
,SAS_AccountsDetails.NoKelompok
,SAS_AccountsDetails.NoWarran
,SAS_AccountsDetails.AmaunWarran
,SAS_AccountsDetails.noAkaunPelajar
,SAS_AccountsDetails.StatusBayaran
FROM SAS_AccountsDetails
INNER JOIN SAS_sponsorinvoice ON sas_sponsorinvoice.creditref1 = SAS_AccountsDetails.ref1
OR sas_sponsorinvoice.creditref1 = SAS_AccountsDetails.refcode
INNER JOIN sas_student ON sas_sponsorinvoice.creditref = sas_student.sasi_matricno
WHERE sas_sponsorinvoice.batchcode = 'B000000000000303'
SASI_MatricNo SASI_Name SASI_PgId SASI_ICNo SASI_CurSem TransTempCode TempAmount TempPaidAmount PostStatus Ref1 NoKelompok NoWarran AmaunWarran noAkaunPelajar StatusBayaran
"160553" "RATHIYMALER A/P MANIAM" "32" "911229086066" 2 "TRT000000000000054" 0 0 "Ready" "001" "" "" 0 "" ""
"160553" "RATHIYMALER A/P MANIAM" "32" "911229086066" 2 "" 0 0 "Posted" "001" "" "" 0 "" ""
"160553" "RATHIYMALER A/P MANIAM" "32" "911229086066" 2 "TRT000000000000019" 0 0 "Ready" "001" "" "" 0 "" ""
答
最简单的解决方法是添加到查询
Order By --(condition to bring the desired record to the top of the list)--
Limit 1
月底将返回刚才的结果集的第一行。
提供一些示例数据和预期输出。您如何选择要包含在结果集中的哪条记录? – HoneyBadger
告诉我们你试过了什么,你的表,查询和预期输出 –
也是这个与mysql或postgresql有关吗? –