Tüm Platformlar için Hızlı Uygulama Geliştirme Kitap Yayın Süreci
Kitap gözden geçirilmek üzere BTG (Bilgi ve Teknoloji Grubu) 'na gönderildi. 05.10.2018-14:10
BTG (Bilgi ve Teknoloji Grubu) tarafından iki sayfalık bir reklam tasarımı bekleniyor. 08.10.2018 - 15:30

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Tablo Birleştirmek
#1
Merhaba benim sorum SQL ile ilgili. Bende 2 tane tablo var birisi Musteri_Kayit tablosu diğeri ise Ulasim_Bilgileri.
Musteri_Kayit tablosuna müşteri bilgilerini kayıt ediyorum. Numara sırasına göre kayıt oluyor otomatik atıyor sayıları.
İstediğim İse Ulasim_Bilgileri tablosuna kayit yaparken benden MusteriNo istiyor yani numara alanına 4 yazdığım zaman kayit alanında 4 numaralı kişinin  ulaşım bilgilerini yazmasını istiyorum. Yani 2 tabloyu birleştirmek istiyorum bilmiyorum anlatabildim mi Big Grin  Bunu nasıl yapabilirm INNER JOIN ile yapılır mı?

Anlatamamış olabilirm belki derdimi ama anlayan varsa yardımcı olursa sevinirim Big Grin
----------------------------------------------------------------------------------------------- NEW
İstediğimi yapabildim arkadaşlar. Şöyle diyeyim bende 2 tane tablo var müşteri bilgisi ve ulaşım bilgileri. ilk müşteriyi kayıt ediyorum daha sonra farklı formda da örneğin numara alanına 4 yazıyorum daha sonra ulaşım bilgilerini giriyorum. böylece 4 numaralı kişinin ulaşım bilgilerine o sonradan eklediklerim geliyor. 2 tabloyu da inner join ile birleştirdim. aşağıda da yaptığım kodu belirteyim

Select * from Musteri_Kayit inner join Ulasim_Bilgileri on Musteri_Kayit.MusteriNo=Ulasim_Bilgileri.MusteriNo
Don't fear the try!
WWW
Cevapla
#2
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba benim sorum SQL ile ilgili. Bende 2 tane tablo var birisi Musteri_Kayit tablosu diğeri ise Ulasim_Bilgileri.
Musteri_Kayit tablosuna müşteri bilgilerini kayıt ediyorum. Numara sırasına göre kayıt oluyor otomatik atıyor sayıları.
İstediğim İse Ulasim_Bilgileri tablosuna kayit yaparken benden MusteriNo istiyor yani numara alanına 4 yazdığım zaman kayit alanında 4 numaralı kişinin  ulaşım bilgilerini yazmasını istiyorum. Yani 2 tabloyu birleştirmek istiyorum bilmiyorum anlatabildim mi Big Grin  Bunu nasıl yapabilirm INNER JOIN ile yapılır mı?

Anlatamamış olabilirm belki derdimi ama anlayan varsa yardımcı olursa sevinirim Big Grin

Merhaba, öncelikle sorunuz Veritabanları ile alakalı olduğu için; o kısım altında açılmalı idi. İkinci olarak, SQL (Structured Query Language-Yapısal Sorgulama Dili) genel bir tabirdir ve hangi veritabanını kullandığınızı buradan anlayamayız. Dolayısı ile mesajınızı ilgili bölüme taşımak istesek de hangi bölüm altına taşıyacağımızı bilemeyiz.

 Bu tarz sorulara daha hızlı ve isabetli yanıtlar almak istiyorsanız eğer, tabloların alan yapılarını da paylaşabilir, aynı zamanda hangi RDBMS(Relational Database Managament System-İlişkisel Veritabanı Yönetim Sistemi)'i kullandığınızı belirtebilirsiniz.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
Eğer anladığım doğruysa
2 tablon var.

A tablosuna ana veriyi kaydediyorsun, Ama A, tablosuna kayıt yapıldığında, otomatik B tablosuna da kayıt atsın (a tablosuna kaydolunan veriler ile)

Sen sanırım Acess kullanıyorsun bunda var mı yok mu bilmiyorum ama mysql de Trigger diye bir işlem var araştırmaya buradan başlayabilirsin
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba benim sorum SQL ile ilgili. Bende 2 tane tablo var birisi Musteri_Kayit tablosu diğeri ise Ulasim_Bilgileri.
Musteri_Kayit tablosuna müşteri bilgilerini kayıt ediyorum. Numara sırasına göre kayıt oluyor otomatik atıyor sayıları.
İstediğim İse Ulasim_Bilgileri tablosuna kayit yaparken benden MusteriNo istiyor yani numara alanına 4 yazdığım zaman kayit alanında 4 numaralı kişinin  ulaşım bilgilerini yazmasını istiyorum. Yani 2 tabloyu birleştirmek istiyorum bilmiyorum anlatabildim mi Big Grin  Bunu nasıl yapabilirm INNER JOIN ile yapılır mı?

Anlatamamış olabilirm belki derdimi ama anlayan varsa yardımcı olursa sevinirim Big Grin

Sevgili arkadaşım cudyfoster,

veritabanı olarak ne kullanıyorsun bi ondan bahseder misin ?

inner join , left join, right join..vs joinler senin işini görür

select * from tabloA, tabloB

böyle bişide işini görür zaar. ama daha fazla bilgi vermen gerek
Alıntı:
yarumdan ayrildum gözlerum nemli nemli 

rakı haramdur diye çay içtum demli demli...Heart 
Cevapla
#5
Merhaba,
Veri tabanı yapısını ve hangi veri tabanını kullandığınızı  bilmediğimden FireBird SQL Syntax'ına göre; sorununuzun çözümünü yazayım.
Insert yapacağınız tablo alanlarında, diğer tablo verilerini çekmek ve mevcut tabloya insert yapmak için; VALUES direktifi içerisinde doğrudan SELECT cümlesi ile bir küme veya tek bir kayıt alabilirsiniz.

Örnek;
INSERT INTO ULASIM_BILGILERI(MUSTERI_ID,MUSTERI_ADI,MUSTERI_TLF,TEKLIF_TUTARI,TARIH, ACK) 
                     VALUES ((SELECT ID,MUSTERI_ADI_SOYADI,MUSTERI_TELEFONU FROM MUSTERI_KAYIT WHERE ID=2),
                              '22.50',CURRENT_DATE,'1.000 Adet Yemek Siparişi');

Yukarıdaki SQL cümlesi aslında SQL standardıdır. Tüm DB'lerde çalışır.
Gördüğünüz gibi; VALUES içerisinde harici bir tablodan bir veya daha fazla alan çağırabilir ve mevcut tabloya Insert yapmasını sağlayabilirsiniz.
Örnekte ULASIM_BILGILERI tablosuna; kendi içerisindeki alanlar ile birlikte MUSTERI_KAYIT tablonuzda 2 nolu ID'ye sahip müşterinin  ID, MUSTERI_ADI_SOYADI ve MUSTERI_TELEFONU bilgileri de kaydedilmektedir.
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
#6
"Her yiğidin yoğurt yiyişi farklıdır" sözünü doğrulamış bulunuyoruz Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#7
(26-01-2017, Saat: 13:39)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol"Her yiğidin yoğurt yiyişi farklıdır" sözünü doğrulamış bulunuyoruz Smile

"Cömert derler maldan ederler; yiğit derler candan ederler" Smile
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
#8
(26-01-2017, Saat: 13:19)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEğer anladığım doğruysa
2 tablon var.

A tablosuna ana veriyi kaydediyorsun, Ama A, tablosuna kayıt yapıldığında, otomatik B tablosuna da kayıt atsın (a tablosuna kaydolunan veriler ile)

Sen sanırım Acess kullanıyorsun bunda var mı yok mu bilmiyorum ama mysql de Trigger diye bir işlem var araştırmaya buradan başlayabilirsin

mssql 2014 kullanıyorum. inner join ile hallettim olayı ^^

(26-01-2017, Saat: 13:34)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Veri tabanı yapısını ve hangi veri tabanını kullandığınızı  bilmediğimden FireBird SQL Syntax'ına göre; sorununuzun çözümünü yazayım.
Insert yapacağınız tablo alanlarında, diğer tablo verilerini çekmek ve mevcut tabloya insert yapmak için; VALUES direktifi içerisinde doğrudan SELECT cümlesi ile bir küme veya tek bir kayıt alabilirsiniz.

Örnek;
INSERT INTO ULASIM_BILGILERI(MUSTERI_ID,MUSTERI_ADI,MUSTERI_TLF,TEKLIF_TUTARI,TARIH, ACK) 
                     VALUES ((SELECT ID,MUSTERI_ADI_SOYADI,MUSTERI_TELEFONU FROM MUSTERI_KAYIT WHERE ID=2),
                              '22.50',CURRENT_DATE,'1.000 Adet Yemek Siparişi');

Yukarıdaki SQL cümlesi aslında SQL standardıdır. Tüm DB'lerde çalışır.
Gördüğünüz gibi; VALUES içerisinde harici bir tablodan bir veya daha fazla alan çağırabilir ve mevcut tabloya Insert yapmasını sağlayabilirsiniz.
Örnekte ULASIM_BILGILERI tablosuna; kendi içerisindeki alanlar ile birlikte MUSTERI_KAYIT tablonuzda 2 nolu ID'ye sahip müşterinin  ID, MUSTERI_ADI_SOYADI ve MUSTERI_TELEFONU bilgileri de kaydedilmektedir.

Biraz baktım internetten inner join ile hallettim gibi olayı :Big Grin şuan istediğim sonucu alıyorum

(26-01-2017, Saat: 13:29)esrehmaan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba benim sorum SQL ile ilgili. Bende 2 tane tablo var birisi Musteri_Kayit tablosu diğeri ise Ulasim_Bilgileri.
Musteri_Kayit tablosuna müşteri bilgilerini kayıt ediyorum. Numara sırasına göre kayıt oluyor otomatik atıyor sayıları.
İstediğim İse Ulasim_Bilgileri tablosuna kayit yaparken benden MusteriNo istiyor yani numara alanına 4 yazdığım zaman kayit alanında 4 numaralı kişinin  ulaşım bilgilerini yazmasını istiyorum. Yani 2 tabloyu birleştirmek istiyorum bilmiyorum anlatabildim mi Big Grin  Bunu nasıl yapabilirm INNER JOIN ile yapılır mı?

Anlatamamış olabilirm belki derdimi ama anlayan varsa yardımcı olursa sevinirim Big Grin

Sevgili arkadaşım cudyfoster,

veritabanı olarak ne kullanıyorsun bi ondan bahseder misin ?

inner join , left join, right join..vs joinler senin işini görür

select * from tabloA, tabloB

böyle bişide işini görür zaar. ama daha fazla bilgi vermen gerek

Aynen inner join işime yaradı baya şuan oldu gibi ^^

(26-01-2017, Saat: 12:55)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba benim sorum SQL ile ilgili. Bende 2 tane tablo var birisi Musteri_Kayit tablosu diğeri ise Ulasim_Bilgileri.
Musteri_Kayit tablosuna müşteri bilgilerini kayıt ediyorum. Numara sırasına göre kayıt oluyor otomatik atıyor sayıları.
İstediğim İse Ulasim_Bilgileri tablosuna kayit yaparken benden MusteriNo istiyor yani numara alanına 4 yazdığım zaman kayit alanında 4 numaralı kişinin  ulaşım bilgilerini yazmasını istiyorum. Yani 2 tabloyu birleştirmek istiyorum bilmiyorum anlatabildim mi Big Grin  Bunu nasıl yapabilirm INNER JOIN ile yapılır mı?

Anlatamamış olabilirm belki derdimi ama anlayan varsa yardımcı olursa sevinirim Big Grin

Merhaba, öncelikle sorunuz Veritabanları ile alakalı olduğu için; o kısım altında açılmalı idi. İkinci olarak, SQL (Structured Query Language-Yapısal Sorgulama Dili) genel bir tabirdir ve hangi veritabanını kullandığınızı buradan anlayamayız. Dolayısı ile mesajınızı ilgili bölüme taşımak istesek de hangi bölüm altına taşıyacağımızı bilemeyiz.

 Bu tarz sorulara daha hızlı ve isabetli yanıtlar almak istiyorsanız eğer, tabloların alan yapılarını da paylaşabilir, aynı zamanda hangi RDBMS(Relational Database Managament System-İlişkisel Veritabanı Yönetim Sistemi)'i kullandığınızı belirtebilirsiniz.

bundan sonra daha dikkatli olmaya çalışırım  Rolleyes
Don't fear the try!
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  read committed snapshot Tablo kilitleme Sorunu emrahgs 3 133 12-10-2018, Saat: 17:34
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi