select ederken farklı bir karşılaştırma sonucu süzme
@Hakan_Can
like komutu ile nasıl bir karşılaştırma yapabilirim,
ve stok kodu ile işim yok işim fiş numaraları ile,
çözümün bana uzak geldiği için fazla deneme yapmadım sorgunu oluşturabilirsen deneyebilirim.
Naile Hn. Tabiki o şekilde girişler var faturalı hammadde girişleri en önemli örnek ama mesaj bundan kaynaklanıyor ise tek bir stok için deniyorum hemen
Denedim
sorgu hata mesajı vermedi lakin 0 döndü bilerek bir kayıt girmiştim.
like komutu ile nasıl bir karşılaştırma yapabilirim,
ve stok kodu ile işim yok işim fiş numaraları ile,
çözümün bana uzak geldiği için fazla deneme yapmadım sorgunu oluşturabilirsen deneyebilirim.
Naile Hn. Tabiki o şekilde girişler var faturalı hammadde girişleri en önemli örnek ama mesaj bundan kaynaklanıyor ise tek bir stok için deniyorum hemen
Denedim
sorgu hata mesajı vermedi lakin 0 döndü bilerek bir kayıt girmiştim.
Bir kelimenin anlamını öğretsen bile yeter..



Şöyle bir query deneyebilirsin:
STOKHAREKET mevcut tablonun adıyla değiştirilmeli.
İyi çalışmalar.
Kod: Tümünü seç
SELECT
T1.*
FROM STOKHAREKET T1
WHERE T1.fisno LIKE '%YM%' AND NOT EXISTS
(
SELECT
T2.fisno
FROM STOKHAREKET T2
WHERE ISNUMERIC(T2.fisno) = 1 AND SUBSTRING(T1.fisno, 13, 5) = SUBSTRING(T2.fisno, 13, 5)
)
İyi çalışmalar.
Buna benzer bir sıkıntıda ben çekiyorum.
Kullanmakta oldugum bir otomasyon programı var. Kullanıcılar buraya hasta kayıtlarını girmekte ama ne yazık ki bazen kimlik üzerindeki verileri düzgün yazamıyorlar ve mükerrer kayıt oluşturuyorlar.
Ben bunları tespit etmek için aşağıdaki gibi bir komut kullanıyorum. Daha sonra ise program içerisindeki bir modul yardımı ile bunlaro birleştirip fazla kaydi siliyorum.
Çıkan sonuç aşağıdaki gibi oluyor.
Burada hasta T.C Kimlik numaralarından bir arama yapamadığım için çıkan her sonucu
gibi sorgu ile tek tek kontrol edip ID leri görmek zorunda kalıyorum.
İlk sorgumun sonucunda MERNIS_NO ları alıp diğer komutu çalıştırması biraz karmaşık geliyor ama sanki şu anlatttıklarınızı biraz inceleyince yapılabilir gibide görünüyor.
Ayrıca çok usta bir SQL kullanıcısı değilim o nedenle örnekleri anlayamıyorum.
Eğer yardımcı olursanız. Çok sevineceğim. Birde ilk sorgum içerisine değeri boş olanları eklemez ise daha sağlam bir sonuç elde ederim.
Şimdiden teşekkür ediyorum.
Kullanmakta oldugum bir otomasyon programı var. Kullanıcılar buraya hasta kayıtlarını girmekte ama ne yazık ki bazen kimlik üzerindeki verileri düzgün yazamıyorlar ve mükerrer kayıt oluşturuyorlar.
Ben bunları tespit etmek için aşağıdaki gibi bir komut kullanıyorum. Daha sonra ise program içerisindeki bir modul yardımı ile bunlaro birleştirip fazla kaydi siliyorum.
Kod: Tümünü seç
SELECT
dbo.HASTA.MERNIS_NO,
COUNT(*) AS SAYI
FROM
dbo.HASTA
GROUP BY
dbo.HASTA.MERNIS_NO
HAVING
COUNT(*) > 1
Kod: Tümünü seç
MERNIS_NO SAYI
-------------------- -----------
10667179568 2
10689110310 2
11207173800 2
11330668266 2
Kod: Tümünü seç
Select HASTA_ID,MERNIS_NO from hasta where MERNIS_NO=10667179568
İlk sorgumun sonucunda MERNIS_NO ları alıp diğer komutu çalıştırması biraz karmaşık geliyor ama sanki şu anlatttıklarınızı biraz inceleyince yapılabilir gibide görünüyor.
Ayrıca çok usta bir SQL kullanıcısı değilim o nedenle örnekleri anlayamıyorum.
Eğer yardımcı olursanız. Çok sevineceğim. Birde ilk sorgum içerisine değeri boş olanları eklemez ise daha sağlam bir sonuç elde ederim.
Şimdiden teşekkür ediyorum.
IS NOT NULL Kullanabilirsin boşlar gelmesin diyorsan
Mernis noyu girdiği zaman edit in onexit de bir select çekip var olup olmadığını görürsün veya ID gibi bu alanı primary veya forign key olarak belirleyebilirsin. dublike olmaz.
Kod: Tümünü seç
SELECT
dbo.HASTA.MERNIS_NO,
COUNT(*) AS SAYI
FROM
dbo.HASTA
where IS NOT NULL ALANIMM
....
Bir kelimenin anlamını öğretsen bile yeter..



conari yazdı:IS NOT NULL Kullanabilirsin boşlar gelmesin diyorsan
Mernis noyu girdiği zaman edit in onexit de bir select çekip var olup olmadığını görürsün veya ID gibi bu alanı primary veya forign key olarak belirleyebilirsin. dublike olmaz.
Açıkcası belki vermiş olduğunuz cevap yeterli bir cevap olabilir. Ama nedense sonucu değiştirmedi. Ayrıca diğer sorum için bir cevap verdiniz mi anlayamadım.
İlk yazdiğim gibi DB yi ben oluşturmadım sadece tarayarak bazı olmayan işlemleri kendim kontrol ederek mukerrer kayıtları kullanıcılara sildirmek istiyorum.
Yinede ilginiz için teşekkür ederim.
Sıkı bir aramadan sonra bir arkadasın yardımya bir yerde örnek buldum.
http://www.mximize.com/?cat_id=0E240F23 ... 360A3BFAC2
istediğim kod şu hale geldi ..
http://www.mximize.com/?cat_id=0E240F23 ... 360A3BFAC2
istediğim kod şu hale geldi ..
Kod: Tümünü seç
SELECT HASTA_ID,MERNIS_NO,HASTA_ADI,HASTA_SOYADI
FROM HASTA(nolock)
WHERE UPPER(MERNIS_NO) IN(SELECT UPPER(MERNIS_NO) AS MERNIS_NO
FROM HASTA(nolock)
GROUP BY MERNIS_NO
HAVING (COUNT(UPPER(MERNIS_NO))>1 AND NOT LEN(MERNIS_NO)<11))
ORDER BY
MERNIS_NO