Select ile iki vt nin tablolarından bilgi alma.

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ı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Select ile iki vt nin tablolarından bilgi alma.

Mesaj gönderen Asri »

Merhaba,
Select komutu ile iki farklı veritabanına ait tablolardan bilgi almak mümkün müdür?

Örneğin : cari veri tabanından
select a.adi_soyadi,b.borcu from cariler a, hareket b where a.cariid= b.masterid

şeklinde bir veritabanından ve farklı tablolardan bilgi çekebiliyoruz.

a)
Veritabanı : Cari
Table : Cariler
Fields : Adi_Soyadi, Cariid

b)
Veritabanı : Hareketler
Table : Hareket
Fields : Borcu, Masterid


a ve b ile verilen yapıyı yukarıdaki örnekteki gibi nasıl alabiliriz?
Ya da soruyu şu şekilde de değiştirebiliriz.
Select'te vt'yi From'dan sonra Table Name yerine, Veritabanı+Table name şeklinde nasıl kullanabiliriz?
İyi çalışmalar.

_______________________
ofenX
En son Asri tarafından 30 Ağu 2005 05:17 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kullanıcı avatarı
AReS
Üye
Mesajlar: 86
Kayıt: 25 Haz 2005 04:58

Hocam dediğin şey mümkün

Mesaj gönderen AReS »

Hocam dediği olay mümkün bunu içi sana şöyle bir açıklama yapayım kolay.
dielimki sende 3 tane VT var (MS-SQL server e ornek)
1. VT adı= VT1
2. VT adı= VT2
3. VT adı= VT3

vt1(VT).dbo.Cariler(Table).CariId
vt2(VT).dbo.Musteri(Table).MusteriId
vt3(VT).dbo.Satis(Table).SatisId
En son AReS tarafından 27 Ağu 2005 06:02 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
AReS
Üye
Mesajlar: 86
Kayıt: 25 Haz 2005 04:58

S.a

Mesaj gönderen AReS »

Önüne server adını koy ben server adını koymadan denemedim ama sanırım olur.Server adını bırakırsan farklı server ler arasında dahi seleck insert delete her türlü işlemi yapabilirsin.
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

Merhaba,
select * from (TARIHSIL_DATA.MDF).DENEME
select * from TARIHSIL_DATA.MDF.DENEME

şeklinde komutlar kullandım. istediğimi vermedi.
TARIHSIL_DATA.MDF diye bir veritabanının, DENEME adlı tablosundan
kayıtları listelemek istiyorum.
sizin dediğinize göre yukarıdaki gibi olması gerekir. Bir örneğini verirseniz sevinirim.

__________________
ofenX
En son Asri tarafından 30 Ağu 2005 05:17 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kullanıcı avatarı
AReS
Üye
Mesajlar: 86
Kayıt: 25 Haz 2005 04:58

Merhaba

Mesaj gönderen AReS »

select * from (TARIHSIL_DATA.MDF).dbo.DENEME
hocam table in onune dbo. bırakırsan sorun cozulur.
veritabanı adını yaz .(nokta)koy table adından once dbo.de yaz olur
kısaca:
select * from (Tarihsil_Data.MDF).dbo.Deneme dersen çalışır.

Her table dbo. die ön ek alır hocam bu iekilde yaparsan sorun kalmaz.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba,

birde Union All komutunu kullanın.

eğer istediğiniz tabloları listeletmekse sorun kalmaz yani;

select sececegin_alan from veritabani
union all
select sececegin_alan from 2.veriveritabaniç

Böylelikle senin sorunun çözülmüş olacaktır.
Saygılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

AReS yazdı:select * from (TARIHSIL_DATA.MDF).dbo.DENEME
dediğiniz şekilde copy+paste ile yazıp denedim. Yine çalışmadı.
hatta \ larla dosyanın tam yolunu yazıp denedim yine istediğimi vermedi.

Kısaca ne yapmak istediğimi yazayım. http://groups.yahoo.com/group/logolks2/message/68 adresindeki bir arkadaş Lks Ticari programında blob olarak saklanan bir veriyi yazıcıya yazdıramadığını söylüyor.
Lks'de Vtyonet.exe diye bir program var onunla sql komutlarını kullanarak sorgulamalar yapabiliyoruz. Bahsettiği blob alana baktığımda ??????????????????????????? şeklinde görünüyor. Ama delphi ado ile bakıp bir stringe atadığımda girdiğim bilgileri görebiliyorum.
Ben de Lks'nin dışında bir tablo oluşturup o blob alanı computed bir alanla metne çevirip yazıcı sorununu halletmeyi düşünüyordum. O yüzden Select kullanırken tablo yerine veritabanı+tablo vermem gerekir.
Yukarıda verilen komutu delphi altında değil Vtyonet.exe altında vermem gerekir.
Lks Ms Sql Server veya Ms Desktop Engine diye iki şekil kullanıyor.
Server ismim LOKANTACIXP
İlgilendiğiniz teşekkürler.
İyi çalışmalar

_______________________
ofenX
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Cevapla