iki tablo arası alan aktarımı

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

iki tablo arası alan aktarımı

Mesaj gönderen mmnckr »

hammadde: ham_kod,hamad
hamhareket: stkkod,stkname
yukarıda vermiş olduklarım table ve alan adlarıdır.
SQL satırlarını kullanarak query analyzer da;
hamhareket tablosundaki stkname alanını doldurmak istiyorum.
stkkod=hamkod ise hamad ları ilgili stkname nasıl yazarım
mmnckr
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

MS-Sql e aşina olmadığımdan yazımı farklı olabilir.. Orakıl yazımı şu şekilde;

Kod: Tümünü seç

update hamhareket h
  set stkname = (select hamad from hammadde where hamkod = h.stkkod)
where stkkod in (select hamkod from hammadde where hamkod = h.stkkod)
şeklinde bir kod işini görebilir. Burada en sondaki where kısmı null alanları atamamak içindir :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Hocam harikasın verdiğin kod SQL içinde geçerli çok mükemmel bir şekilde işimi halletti.İyi çalışmalar kolay gelsin.
mmnckr
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Aynı işlem şu kodla da yapılabilir:

Kod: Tümünü seç

UPDATE hamhareket SET stkname = h2.hamad 
FROM hamhareket h1,hammadde h2
WHERE h2.hamkod = h1.stkkod
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Naile'nin kodu daha pratik. Başta zaten itiraf etmiştim.. UPDATE için iki tabloya birden işlem yapılabiliyorsa bu daha basit ve hızlı olur. Her yiğidin pardon programcının yoğurt yiyişi değil kod sürüşü farklı oluyor işte :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla