Delphi Can

Orjinalini görmek için tıklayınız: SQL de Aynı Tablo İçinde Kopyalamak
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Arkadaşlar Merhaba; Yapmak istediğim Tablo da bulunan hareket kaydını farklı fiş numarasında kopyalamak. Aşağıdaki Kod ile '000000000000030' nolu fiş numarasını buluyorum. Bu fişi bu şekilde '100000000000005' olarak kopyalamak istiyorum.
'000000000000030' nolu fiş aynen kalacak, fiş ve cari ye ait 7 tane kayıt var.


SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'

Bu şekilde bir kodum daha var ama bu sadece bir adet kopyalama yapıyor hareket de 7 tane farklı aynı cari ve fış e ait veri var;

INSERT INTO TBLSTHAR
(STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA, 
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI)
VALUES
('9000033','100000000000005','6.00000000','G','2018-02-12 00:00:00','13.52000000','13.52000000','11.06800000','8.00','2','000940','2','1','J','30','F','000940','02','1','1','2018-03-14 00:00:00','0','2018-02-12 00:00:00','0','A') 
SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'


Yardımcı olabilir misiniz? Nasıl yapabilirim?
(09-04-2019, Saat: 08:12)OZCANK Adlı Kullanıcıdan Alıntı: [ -> ]Arkadaşlar Merhaba; Yapmak istediğim Tablo da bulunan hareket kaydını farklı fiş numarasında kopyalamak. Aşağıdaki Kod ile '000000000000030' nolu fiş numarasını buluyorum. Bu fişi bu şekilde '100000000000005' olarak kopyalamak istiyorum.
'000000000000030' nolu fiş aynen kalacak, fiş ve cari ye ait 7 tane kayıt var.


SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'

Bu şekilde bir kodum daha var ama bu sadece bir adet kopyalama yapıyor hareket de 7 tane farklı aynı cari ve fış e ait veri var;

INSERT INTO TBLSTHAR
(STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA, 
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI)
VALUES
('9000033','100000000000005','6.00000000','G','2018-02-12 00:00:00','13.52000000','13.52000000','11.06800000','8.00','2','000940','2','1','J','30','F','000940','02','1','1','2018-03-14 00:00:00','0','2018-02-12 00:00:00','0','A') 
SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'


Yardımcı olabilir misiniz? Nasıl yapabilirim?

Insert cümlenizden sonra gelen Values kısmını silin, yerine SELECT ifadesini koyun. Örneğin:

Insert Into Tablom(AlanA, AlanB, AlanC)
SELECT
  BaskaAlanA,
  'Elle Değer Veriyorum',
  BaskaAlanC
FROM BaskaTablo;
(09-04-2019, Saat: 09:14)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 08:12)OZCANK Adlı Kullanıcıdan Alıntı: [ -> ]Teşekkür ederim. Dediğinizi denedim. İstediğim aynı tablo içerisine kopyalamak sadece FISNO farklı olacak.
Bu alış faturası ben aynı tablo da onu satış faturasına çevirmeliyim.
INSERT li olan kod 1 stok için çeviriyor oda stok kodu yazılı olduğu için. Farklı 7 stok var aynı kod ve fiş e ait.
Sonrasında bu kodu delphiye alıp G (Giriş) i C (Çıkış) ve fatura tipini değiştirerek kaydettirecem.


Arkadaşlar Merhaba; Yapmak istediğim Tablo da bulunan hareket kaydını farklı fiş numarasında kopyalamak. Aşağıdaki Kod ile '000000000000030' nolu fiş numarasını buluyorum. Bu fişi bu şekilde '100000000000005' olarak kopyalamak istiyorum.
'000000000000030' nolu fiş aynen kalacak, fiş ve cari ye ait 7 tane kayıt var.

SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'

Bu şekilde bir kodum daha var ama bu sadece bir adet kopyalama yapıyor hareket de 7 tane farklı aynı cari ve fış e ait veri var;

INSERT INTO TBLSTHAR
(STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA, 
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI)
VALUES
('9000033','100000000000005','6.00000000','G','2018-02-12 00:00:00','13.52000000','13.52000000','11.06800000','8.00','2','000940','2','1','J','30','F','000940','02','1','1','2018-03-14 00:00:00','0','2018-02-12 00:00:00','0','A') 
SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'


Yardımcı olabilir misiniz? Nasıl yapabilirim?

Insert cümlenizden sonra gelen Values kısmını silin, yerine SELECT ifadesini koyun. Örneğin:

Insert Into Tablom(AlanA, AlanB, AlanC)
SELECT
  BaskaAlanA,
  'Elle Değer Veriyorum',
  BaskaAlanC
FROM BaskaTablo;
Ben sadece örnek olsun diye tablo isimlerini farklı verdim. Sizin aynı tablo'yu kullanmanızda bir behis yok.
(09-04-2019, Saat: 09:59)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: [ -> ]Ben sadece örnek olsun diye tablo isimlerini farklı verdim. Sizin aynı tablo'yu kullanmanızda bir behis yok.
Kod şu şekilde sizin dediğiniz gibi bu durum da 7 Adet stok hareketini aynı şekilde bütün alanları le beraber 7 tane daha kopyalayıp 14 tane yapıyor. Sadece FISNO='000000000000030' yerine FISNO='100000000000005' olarak bütün alanları ile kaydetmek istiyorum.

INSERT INTO TBLSTHAR
(STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI)
SELECT
STOK_KODU,
FISNO,
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'
Merhaba,
FISNO alanına sabit değer atayın o zaman.
SELECT
STOK_KODU,
'100000000000005',
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'
(09-04-2019, Saat: 10:11)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba,
FISNO alanına sabit değer atayın o zaman.
SELECT
STOK_KODU,
'100000000000005',
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'

Çok teşekkür ederim, Allah Razı Olsun  Fesih Bey bu şekilde dediğiniz gibi yaptım ve oldu;

SELECT
STOK_KODU,
FISNO='100000000000005',
STHAR_GCMIK, 
(09-04-2019, Saat: 10:20)OZCANK Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 10:11)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba,
FISNO alanına sabit değer atayın o zaman.
SELECT
STOK_KODU,
'100000000000005',
STHAR_GCMIK, 
STHAR_GCKOD, 
STHAR_TARIH, 
STHAR_NF, 
STHAR_BF, 
STHAR_IAF, 
STHAR_KDV, 
DEPO_KODU, 
STHAR_ACIKLAMA, 
STHAR_FTIRSIP, 
LISTE_FIAT, 
STHAR_HTUR, 
STHAR_ODEGUN, 
STHAR_BGTIP, 
STHAR_CARIKOD, 
PLASIYER_KODU, 
SIRA,
OLCUBR, 
VADE_TARIHI, 
SUBE_KODU, 
D_YEDEK10, 
EXPORTTYPE, 
ONAYTIPI
FROM TBLSTHAR WHERE STHAR_ACIKLAMA = '000940' AND FISNO = '000000000000030'

Çok teşekkür ederim, Allah Razı Olsun  Fesih Bey bu şekilde dediğiniz gibi yaptım ve oldu;

SELECT
STOK_KODU,
FISNO='100000000000005',
STHAR_GCMIK, 

Ben size farklı bir tavsiyede mi bulunmuştum acaba ! Balık tutmayı öğrenmeye çalışmanızı öneririm.