如何选择声明以避免重复项目

问题描述:

我可以知道如何选择一个项目而不重复吗?这是事情。如何选择声明以避免重复项目

我在学生桌上的第一列(例如: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 ""    "" 
+1

提供一些示例数据和预期输出。您如何选择要包含在结果集中的哪条记录? – HoneyBadger

+1

告诉我们你试过了什么,你的表,查询和预期输出 –

+1

也是这个与mysql或postgresql有关吗? –

最简单的解决方法是添加到查询

Order By --(condition to bring the desired record to the top of the list)-- 
Limit 1 

月底将返回刚才的结果集的第一行。