Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 12/05/2008, 20:05   #1 (permalink)
Üye
 
PeRq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2007
Mesaj: 66
Varsayılan SELECT ile birden fazla tabloyu birleştirmek

Merhaba herkese.. Tasarlanmış bir veritabanında proje ve resim tablolarının ilgili kısımları şu şekilde
Kod:
`proje` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `resimID` int(10) default '0',
  `resim2ID` int(10) default '0',
  PRIMARY KEY  (`id`)
);
----------------------
`resim` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `dosya` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
);
Amaç tek sorguda proje ile ilgili bilgileri tek sütun halinde almak.. (proje.id, resimID ile uyuşan dosya adı, 2. resim...) Fakat aynı tablodan 2 resim bilgisi almam gerektiğinden ne yapacağımı bilemedim.. Acaba mümkün müdür?
PeRq hatta değil   Alıntı Yaparak Yanıtla
Eski 13/05/2008, 01:26   #2 (permalink)
Software Engineer
 
vampire Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 06/2004
Yer: Plüton
Mesaj: 525
Varsayılan

inner join kullanarak iki ayrı tabloyu bir tablo haline getirip istediğini yapabilirsin
__________________

Yalancı Ayın Sahte Işıkları Gölgemi Çizerken
Hoşçakal ...
vampire hatta değil   Alıntı Yaparak Yanıtla
Eski 13/05/2008, 02:04   #3 (permalink)
Üye
 
PeRq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2007
Mesaj: 66
Varsayılan

Kod:
SELECT proje.id AS id, resim.dosya AS resim
FROM proje
INNER  JOIN resim ON ( resim.id = proje.resimID
OR resim.id = proje.resim2ID );

+----+-------------+
| id | resim       |
+----+-------------+
|  1 | resim1.jpg  | 
|  1 | resim2.jpg  | 
+----+-------------+
2 rows in set (0.00 sec)
bu şekilde çekmem mümkün evet.. Fakat tek satırda çekmek istiyorum.. Üstteki kod 2 satır sonuç döndürüyor. Acaba ben bunları tek satırda resim, resim2 sütunlarına alabilir miyim?

Kod:
İstenen:
+----+-------------+-------------+
| id | resim       | resim2      |
+----+-------------+-------------+
|  1 | resim1.jpg  |   resim2.jpg  | 
+----+-------------+-------------+
Edit:
MySQL dökümanlarını inceleyip biraz uğraşarak çözümünü buldum sizinle de paylaşayım..

Kod:
SELECT proje.id AS id, resim.dosya AS resim, resim2.dosya AS resim2
FROM proje
INNER  JOIN resim ON resim.id = proje.resimID
INNER  JOIN resim AS resim2 ON resim2.id = proje.resim2ID;
İç içe INNER JOIN kullanarak sınırsız sayıda koşul eklenebiliyor..

Enson 13/05/2008 02:19 tarihinde PeRq tarafından düzenlenmiştir.. Sebep: Problemi Çözdüm
PeRq hatta değil   Alıntı Yaparak Yanıtla
Eski 14/05/2008, 19:08   #4 (permalink)
İptal Durumu
 
Üyelik Tarihi: 05/2008
Mesaj: 1
Varsayılan

http://tr4.monstersgame.net/?ac=vid&vid=240000126
karasuma hatta değil   Alıntı Yaparak Yanıtla
Eski 16/05/2008, 16:41   #5 (permalink)
Üye
 
Üyelik Tarihi: 05/2008
Mesaj: 4
Varsayılan

Alıntı:
PeRq, mesajından alıntı: Mesajı Gör
Kod:
SELECT proje.id AS id, resim.dosya AS resim
FROM proje
INNER  JOIN resim ON ( resim.id = proje.resimID
OR resim.id = proje.resim2ID );
 
+----+-------------+
| id | resim       |
+----+-------------+
|  1 | resim1.jpg  | 
|  1 | resim2.jpg  | 
+----+-------------+
2 rows in set (0.00 sec)
bu şekilde çekmem mümkün evet.. Fakat tek satırda çekmek istiyorum.. Üstteki kod 2 satır sonuç döndürüyor. Acaba ben bunları tek satırda resim, resim2 sütunlarına alabilir miyim?

Kod:
İstenen:
+----+-------------+-------------+
| id | resim       | resim2      |
+----+-------------+-------------+
|  1 | resim1.jpg  |   resim2.jpg  | 
+----+-------------+-------------+
Edit:
MySQL dökümanlarını inceleyip biraz uğraşarak çözümünü buldum sizinle de paylaşayım..

Kod:
SELECT proje.id AS id, resim.dosya AS resim, resim2.dosya AS resim2
FROM proje
INNER  JOIN resim ON resim.id = proje.resimID
INNER  JOIN resim AS resim2 ON resim2.id = proje.resim2ID;
İç içe INNER JOIN kullanarak sınırsız sayıda koşul eklenebiliyor..
sutunu "merge" etmek istiyorsun sanırım. googleda "sql merge column" gibi aratırsan sonuca ulaşabilirsin. yaparsan buraya sorguyu yazabilir misin?
şu url yardımcı olabilir belki:
http://forums.devshed.com/oracle-dev...umn-95324.html

kolay gelsin..
esquel hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
css ile birden fazla imaj Ahmet79 Web Tasarım 4 09/12/2007 21:30
Birden fazla pc ve tek sistem Predator Donanım 2 18/01/2006 15:10
Birden fazla aynı içerikli mdb yi birleştirmek Ömer Veritabanları & SQL 5 02/01/2006 12:59
birden fazla post coderx Javascript / DHTML / Ajax 13 01/11/2005 09:50
aynı anda birden cok select.. DotNetKid ASP 2 14/01/2005 20:28


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 09:17.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net