2017-04-15 1 views
0

Below Abfrage gibt 40 Datensätze (die die Anzahl der Benutzer, deren Namen mehr als einmal aufgezeichnet):SQL Persian Suche

select 
    ownername, ownerfamily, count (*) cnt 
into 
    #p 
from 
    branchdataview 
where 
    trfcode in (1011, 1012, 1014) 
group by 
    ownername, ownerfamily 
having 
    count(*) > 1 

select * 
from #p 
where ownername like N'پروین' 
    and ownerfamily like N'افشار' --count=2 

select ownername, ownerfamily, trfcode, * 
from branchdataview with (nolock) 
where trfcode in (1011, 1012, 1014) 
    and ownername like N'پروین' 
    and ownerfamily like N'افشار' --count=3 

Diese 2 Abfragen müssen das gleiche Ergebnis zurück, aber es scheint, dass پروین nicht ist پروین !

Ich habe ähnliche Probleme mit anderen Namen in #p

Wie kann ich das Problem lösen?

Meine letzte Frage ist:

select 
    branchcode, t.OwnerName, t.OwnerFamily 
from 
    branchdataview b with (nolock) 
right join 
    #p p on p.OwnerName =b.OwnerName and t.OwnerFamily = b.OwnerFamily 
where 
    b.TrfCode in (1011, 1012, 1014) 
order by 
    t.OwnerName, t.OwnerFamily 

aber wegen des Problems habe ich erwähnt, es 72 Zeilen zurückgibt, während sollte mindestens 80 Zeilen zurück.

+0

Für welches RDBMS ist das? Bitte fügen Sie ein Tag hinzu, um anzugeben, ob Sie 'mysql',' postgresql', 'sql-server',' oracle' oder 'db2' verwenden - oder etwas ganz anderes. –

+0

'aber es scheint, dass isریین nicht پریین ist!' ... Sie beziehen sich zweimal auf dasselbe arabische Wort. Was meinst du damit? –

+0

Ich habe es getestet, es scheint, dass die Werte in der Tat die gleichen sind, also ist das Problem vielleicht woanders. –

Antwort

0

Ich habe einen Fehler gemacht. Ich habe falsche Anfragen geschrieben. Ich wollte unter Abfrage Rückkehr nur eine Zeile ich benutze SQL Server 2014.

select ownername,ownerfamily,trfcode,* 
from branchdataview with (nolock) 
where trfcode in (1011,1012,1014) and 
ownername like N'رضا' and 
ownerfamily like N'کریمی' 

während unterhalb Rückkehr 2 Reihen für رضا کریمی

select ownername,ownerfamily,count (*) cnt 
from branchdataview 
group by ownername,ownerfamily 
having count(*)>1 

es, dass man scheint ‚رضا کریمی‘ kann nicht, indem man zuerst erkannt werden Abfrage.