Delphi Can
SQL de Aynı Tablo İçinde Kopyalamak - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (http://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: SQL de Aynı Tablo İçinde Kopyalamak (/showthread.php?tid=3524)



SQL de Aynı Tablo İçinde Kopyalamak - OZCANK - 09-04-2019

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?


Cvp: SQL de Aynı Tablo İçinde Kopyalamak - Tuğrul HELVACI - 09-04-2019

(09-04-2019, Saat: 08:12)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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;



Cvp: SQL de Aynı Tablo İçinde Kopyalamak - OZCANK - 09-04-2019

(09-04-2019, Saat: 09:14)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(09-04-2019, Saat: 08:12)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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;



SQL de Aynı Tablo İçinde Kopyalamak - Tuğrul HELVACI - 09-04-2019

Ben sadece örnek olsun diye tablo isimlerini farklı verdim. Sizin aynı tablo'yu kullanmanızda bir behis yok.


Cvp: SQL de Aynı Tablo İçinde Kopyalamak - OZCANK - 09-04-2019

(09-04-2019, Saat: 09:59)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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'



Cvp: SQL de Aynı Tablo İçinde Kopyalamak - Fesih ARSLAN - 09-04-2019

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'



Cvp: SQL de Aynı Tablo İçinde Kopyalamak - OZCANK - 09-04-2019

(09-04-2019, Saat: 10:11)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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, 



Cvp: SQL de Aynı Tablo İçinde Kopyalamak - Tuğrul HELVACI - 09-04-2019

(09-04-2019, Saat: 10:20)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(09-04-2019, Saat: 10:11)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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.