Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SQL de Aynı Tablo İçinde Kopyalamak
#1
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?
Cevapla
#2
(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;
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
(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;
Cevapla
#4
Ben sadece örnek olsun diye tablo isimlerini farklı verdim. Sizin aynı tablo'yu kullanmanızda bir behis yok.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#5
(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'
Cevapla
#6
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'
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
(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, 
Cevapla
#8
(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.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Fonksiyon içinde create edilenler seci20 8 106 3 saat önce
Son Yorum: Tuğrul HELVACI
  Form içinde exe nasıl çalıştırılır? Cyb3r 2 265 04-07-2019, Saat: 09:53
Son Yorum: Cyb3r
  fonksiyon içinde parametreye default değer atama sorunu adelphiforumz 6 296 24-05-2019, Saat: 11:20
Son Yorum: adelphiforumz
  Delphi 7- 4 Adet Tablo Döngü Problemi bsrgmsy 2 294 20-05-2019, Saat: 17:17
Son Yorum: bsrgmsy
  Veri tabanına aynı değeri tekrarlama arsl01 21 768 03-05-2019, Saat: 11:34
Son Yorum: edo



Konuyu Okuyanlar: 1 Ziyaretçi