C# sql联接查询多次返回同一行
我正在使用DevExpress XtraReport,这是我的sql查询。当我运行这个查询时,我的第104行返回20次,第59行返回5次,等等。我尝试了很多方法来解决这个问题,但我不擅长sql join,我什么也没找到。我无法解决这个问题。您可以使用row_number()并从每个结果中选择第一行,这将为您提供唯一的结果。C# sql联接查询多次返回同一行,c#,sql,entity-framework,join,firebird,C#,Sql,Entity Framework,Join,Firebird,我正在使用DevExpress XtraReport,这是我的sql查询。当我运行这个查询时,我的第104行返回20次,第59行返回5次,等等。我尝试了很多方法来解决这个问题,但我不擅长sql join,我什么也没找到。我无法解决这个问题。您可以使用row_number()并从每个结果中选择第一行,这将为您提供唯一的结果。 另外,如果您可以提供示例数据的快照,我可以使用行号()开发查询。重复的,带有distinct的将意味着至少有一列存在差异。您确定这些重复项中的每一列都是相同的吗?FATURA
另外,如果您可以提供示例数据的快照,我可以使用行号()开发查询。重复的,带有distinct的将意味着至少有一列存在差异。您确定这些重复项中的每一列都是相同的吗?FATURAHR是我的表,它存储我的发票活动,因此如果我加入此表,我返回的行将重复我有多少活动。每一列都不相同,它返回除FATURAHR列之外的所有内容都相同。选择DISTINCT用于整个选定行,而不仅仅是第一列。是的,我知道,但选择DISTINCT并不重要。DISTINCT用于整行。因此,如果ID104有20条记录具有不同的BLFHKODU(例如),那么您当然会得到20行。如果你不想要这个,你想要哪个BLFHKODU等?请编辑您的请求,并显示您得到的二十行和您想要得到的一行。这是我的数据库。我只想得到所有的卡里尔和其他与卡里尔有关系的桌子。例如,我将获得ID 104并将其打印到屏幕上,然后我将打印与FATURA相关的FATURAHR。我检查了链接,它显示文件已损坏。你能重新加载数据库吗?这样我就可以检查和开发查询了。
select distinct "CARIHR"."BLCHKODU", "CARIHR"."BLCRKODU",
"CARIHR"."OZEL_KOD", "CARIHR"."EVRAK_NO",
"CARIHR"."ISLEM_TURU", "CARIHR"."TARIH",
"CARIHR"."BORC", "CARIHR"."TAHSILAT",
"CARIHR"."ACIKLAMA", "CARIHR"."VADE",
"CARIHR"."FATURA_HAREKETI",
"CARIHR"."VF_UYGULA", "CARIHR"."HR_ESLEME",
"CARIHR"."TAKIP", "FATURA"."BLFTKODU",
"FATURA"."BLCRKODU" as "FATURA_BLCRKODU",
"FATURA"."BLCH1KODU", "FATURA"."BLCH2KODU",
"FATURA"."TARIHI", "FATURA"."KAP_FATURA",
"FATURA"."KAP_FATTUR",
"FATURA"."ACIKLAMA" as "FATURA_ACIKLAMA",
"FATURA"."TOPLAM", "FATURA"."TOPLAM_KDV",
"FATURA"."KDV_HARIC",
"FATURA"."KESINTI_TOPLAMI",
"FATURA"."KESINTI1", "FATURA"."KESINTI2",
"FATURA"."KESINTI3", "FATURA"."KESINTI5",
"FATURA"."KESINTI4",
"FATURA"."VADE" as "FATURA_VADE",
"FATURA"."KDV_DURUMU",
"FATURA"."ALIS_SATIS_MUSTAHSIL",
"FATURA"."TAKIP" as "FATURA_TAKIP",
"FATURA"."KESILECEK_1",
"FATURA"."KESILECEK_2",
"FATURA"."KESILECEK_3",
"FATURA"."FATURANOT",
"FATURA"."KESINTI1ORAN",
"FATURA"."KESINTI2ORAN",
"FATURA"."KESINTI3ORAN",
"FATURA"."KESINTI4ORAN",
"FATURA"."KESINTI5ORAN",
"FATURAHR"."BLFHKODU",
"FATURAHR"."BLFTKODU" as "FATURAHR_BLFTKODU",
"FATURAHR"."BLSTKODU",
"FATURAHR"."BLSHKODU", "FATURAHR"."CINSI",
"FATURAHR"."BIRIMI", "FATURAHR"."MIKTARI",
"FATURAHR"."FIYAT", "FATURAHR"."ARATUTAR",
"FATURAHR"."TOPLAMTUTAR",
"FATURAHR"."KDV_ORANI",
"FATURAHR"."KDV_TUTAR", "FATURAHR"."NEM",
"FATURAHR"."KESINTI_TOPLAMI" as "FATURAHR_KESINTI_TOPLAMI",
"CARI"."CARI_KODU", "CARI"."TICARI_UNVANI",
"CARI"."ADI_SOYADI", "CARI"."ADRESI",
"CARI"."VERGI_DAIRESI", "CARI"."VERGI_NO",
"CARI"."ILI", "CARI"."ILCESI",
"CARI"."GRUBU", "CARI"."EMAIL",
"CARI"."CEP_TEL", "CARI"."TELEFON",
"CARI"."FAKS", "CARI"."OZELKOD_1",
"CARI"."OZELKOD_2", "CARI"."OZELKOD_3",
"CARI"."KAYIT_TARIHI",
"CARI"."OZEL_TARIHI", "CARI"."TC_KIMLIK",
"CARI"."BAGKUR_NO", "CARI"."KOYU",
"CARI"."NOTU",
"CARI"."BLCRKODU" as "CARI_BLCRKODU"
from ((("CARIHR" "CARIHR"
left
join "FATURA" "FATURA"
on ("FATURA"."BLCH1KODU" = "CARIHR"."BLCHKODU"))
left
join "FATURAHR" "FATURAHR"
on ("FATURAHR"."BLFTKODU" = "FATURA"."BLFTKODU"))
left
join "CARI" "CARI"
on ("CARI"."BLCRKODU" = "CARIHR"."BLCRKODU"))