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!
Cevapla
#2
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: 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

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
WWW
Cevapla
#4
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: 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

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
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.
Cevapla
#6
"Her yiğidin yoğurt yiyişi farklıdır" sözünü doğrulamış bulunuyoruz Smile
WWW
Cevapla
#7
(26-01-2017, Saat: 13:39)yhackup Adlı Kullanıcıdan Alıntı: "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
Cevapla
#8
(26-01-2017, Saat: 13:19)yhackup Adlı Kullanıcıdan Alıntı: 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

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

(26-01-2017, Saat: 13:34)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: 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.

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ı:
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: 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

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ı:
(26-01-2017, Saat: 12:31)cudyfoster Adlı Kullanıcıdan Alıntı: 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

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!
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Database ve tablo isimlerini parametre olarak kullanma denizfatihi 5 4.050 02-01-2020, Saat: 18:07
Son Yorum: yasard
  Tablo İsimlendirme mustafasivlin 11 8.693 08-04-2019, Saat: 09:29
Son Yorum: edo
  read committed snapshot Tablo kilitleme Sorunu Emrah Karagöz 3 3.421 12-10-2018, Saat: 17:34
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi