Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > SQL
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

SQL Yapısal sorgulama dili hakkında sorularınızı buraya sorabilirsiniz.

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 16-05-2016, 11:01   #1
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,369
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan SQL sorgu yardım. çok satır tek satırda

Merhaba,

SQL konsunda pek bilgili değilim.
coalesce ve for xml path ile birşeyler yapmaya çalıştım ama yeterli olmadı.


Aynı Database de TABLO1 de aşağıdaki tablodaki bilgileri
kod kod2 digit
x1---k1---0
x1---k1---1
x1---k1---1
x2---k1---1
x2---k1---0
x2---k1---1
x3---k1---1
x3---k1---1
x3---k1---0

TABLO2 Aşağıdaki şekilde başka bir tabloya sql server da sorgu ile nasıl insert yapabilirim.
kod Kod2 digit
x1---k1---011
x2---k1---101
x3---k1---110

şağıdaki kodun sonucunda 011 olarak sonuç dönüyor.
Ancak benim elle x1 ve k1 değerlerini girmem gerekiyor.
Tüm sonuçları bu şekilde tablo2 ye nasıl aktarabilirim onu araştıryorum.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
select replace (
(
SELECT coalesce(tb1.digit,'') [data()]
  FROM TABLO1 tb1
  WHERE tb1.kod ='x1' and  tb1.kod2='k1'
  FOR XML PATH('')
  ),' ','')
__________________
www.asriakdeniz.com

Bu mesaj en son " 16-05-2016 " tarihinde saat 12:01 itibariyle asri tarafından düzenlenmiştir....
asri Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-05-2016, 12:07   #2
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

use veritabanı_ismi

DROP TABLE ana_tablo
select * into ana_tablo from tablo1 union all select * from tablo2


select * from ana_tablo
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-05-2016, 12:28   #3
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,369
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
zafer tarafından gönderildi Mesajı Görüntüle
Merhaba

use veritabanı_ismi

DROP TABLE ana_tablo
select * into ana_tablo from tablo1 union all select * from tablo2
select * from ana_tablo
Bu sorgu, tablo1 i ana_tablo ya kopyaladı.

Varsayılan durumda, tablo2 nin içi boş. Tablo1 deki
Aynı Database de TABLO1 de aşağıdaki tablodaki bilgileri
kod kod2 digit
x1---k1---0
x1---k1---1
x1---k1---1
x2---k1---1
x2---k1---0
x2---k1---1
x3---k1---1
x3---k1---1
x3---k1---0

TABLO2 ye Aşağıdaki şekilde nasıl insert yapabilirim.
Burada kod ve kod2 için aynı satırlar tek e düşürülürken, digit değerleri yanyana birleştirilerek tablo2 kayıt ediliyor.

kod Kod2 digit
x1---k1---011
x2---k1---101
x3---k1---110
__________________
www.asriakdeniz.com

Bu mesaj en son " 16-05-2016 " tarihinde saat 12:37 itibariyle asri tarafından düzenlenmiştir....
asri Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-05-2016, 13:02   #4
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

Ben sorunuzu yanlış anlamışım.Tablo1 ve tablo2'yi başka bir tabloda birleştirme gibi.
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-05-2016, 15:39   #5
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

http://www.ahmetkaymaz.com/2007/04/2...tenate-islemi/


http://www.muratoner.net/sql/sql-ile...stirme-yontemi

Ayrıca aşagidaki örneği kendinize uyarlayabilirsiniz


SELECT t1.PersonID,
Units =REPLACE( (SELECT Unit AS [data()]
FROM mytable t2
WHERE t2.PersonID = t1.PersonID
ORDER BY Unit
FOR XML PATH('')
), ' ', ',')
FROM mytable t1
GROUP BY PersonID ;
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-05-2016, 15:46   #6
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,369
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Linkleri inceliyorum.

Sorgu hepsine x1 in birleştrilmiş değerini yazdı.

x1 011
x2 011
x3 011

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
SELECT t1.KOD,
digit =REPLACE( (SELECT digit AS [data()]
FROM TABLO1 t2
WHERE t2.kod = t1.kod
ORDER BY digit
FOR XML PATH('')
), ' ', '')
FROM TABLO1 t1
GROUP BY kod ;
__________________
www.asriakdeniz.com
asri Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-05-2016, 16:11   #7
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,369
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Bilgi için teşekkür ederim.

Bu şekilde sonuç aldım. Şimdi bunu başka bir tablo olarak insert yapabilirsem tamam olacak.

x1 k1 001
x2 k1 011
x3 k1 111

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
drop table TABLO1
CREATE TABLE [dbo].[TABLO1]([ID] [int] IDENTITY(1,1) NOT NULL,
    [kod] [nchar](11) NOT NULL,
    [kod2] [nchar](11) NOT NULL,
    [digit] [bit] NULL)

insert into tablo1  values ('x1','k1','1')
insert into tablo1  values ('x1','k1','0')
insert into tablo1  values ('x1','k1','0')
insert into tablo1  values ('x2','k1','1')
insert into tablo1  values ('x2','k1','1')
insert into tablo1  values ('x2','k1','0')
insert into tablo1  values ('x3','k1','1')
insert into tablo1  values ('x3','k1','1')
insert into tablo1  values ('x3','k1','1')

 
SELECT t1.kod,t1.kod2,
       digits =REPLACE( (SELECT digit AS [data()]
           FROM tablo1 t2
          WHERE t2.kod = t1.kod
          ORDER BY digit
            FOR XML PATH('')
            ), ' ', '')
      FROM tablo1 t1
      GROUP BY kod,kod2
__________________
www.asriakdeniz.com
asri Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-05-2016, 16:34   #8
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba
drop table yenitabloismi
SELECT t1.kod,t1.kod2,
digits =REPLACE( (SELECT digit AS [data()]
FROM tablo1 t2
WHERE t2.kod = t1.kod
ORDER BY digit
FOR XML PATH('')
), ' ', '')
into yenitabloismi
FROM tablo1 t1
GROUP BY kod,kod2
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-05-2016, 16:50   #9
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,369
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
zafer tarafından gönderildi Mesajı Görüntüle
Merhaba
drop table yenitabloismi
SELECT t1.kod,t1.kod2,
digits =REPLACE( (SELECT digit AS [data()]
FROM tablo1 t2
WHERE t2.kod = t1.kod
ORDER BY digit
FOR XML PATH('')
), ' ', '')
into yenitabloismi
FROM tablo1 t1
GROUP BY kod,kod2
Yeni tabloya ekleme oldu.

Teşekkür derim.
__________________
www.asriakdeniz.com
asri Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-05-2016, 17:08   #10
zafer
Super Moderator
 
zafer kullanıcısının avatarı
 
Giriş: 08/03/2005
Mesaj: 3,501
Excel Vers. ve Dili:
OFFICE 2003 TÜRKÇE OFFICE 2010 TÜRKÇE
Varsayılan

Merhaba

Rica ederim , iyi çalışmalar
__________________


LÜTFEN TÜRKÇEMİZE SAHİP ÇIKALIM.

MEVZU-U BAHİS VATANSA GERİSİ TEFERRUATTIR

Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz
zafer Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 18:17


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden