Ceviz Forum

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

Cevapla
 
LinkBack Seçenekler
Eski 02/10/2006, 16:16   #1 (permalink)
Agresif Üye
 
turker Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2002
Mesaj: 6,290
Varsayılan 2 tablo tek sonuç

post_table
id|title....

cat_table
id|post_id|cat_id

select 2 tablo where post_table.id not in cat_table.post_id

Amaç, kategorisi belirlenmemiş postları listelemek ve gerekirse daha sonra silmek.

Üstteki sorgunun çalışan versiyonu söylerseniz sevinirim.
turker hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 16:58   #2 (permalink)
Perl Programlama
 
perlci Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2004
Mesaj: 2,184
Varsayılan

SELECT title.post_table FORM post_table,cat_table WHERE id.post_table <> post_id.cat_table;

Böyle olması lazım.
__________________
eperl.net video
perlci hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 17:05   #3 (permalink)
İnsan.
 
atix Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2004
Mesaj: 101
Varsayılan

select * from post_table where not exists(select * from cat_table where cat_table.post_id=post_table.id)
atix hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 17:09   #4 (permalink)
İnsan.
 
atix Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2004
Mesaj: 101
Varsayılan

perlci
"id.post_table" böyle bir kullanım yöntemi var mı?
Benim bildiğim ilk önce tablo adı sonra sütun adı yazılır.
atix hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 18:00   #5 (permalink)
Agresif Üye
 
turker Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2002
Mesaj: 6,290
Varsayılan

Alıntı:
atix, mesajından alıntı: Mesajı Gör
select * from post_table where not exists(select * from cat_table where cat_table.post_id=post_table.id)
Aradığım sorgu bu, teşekkürler.
turker hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 19:41   #6 (permalink)
Perl Programlama
 
perlci Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2004
Mesaj: 2,184
Varsayılan

Alıntı:
atix, mesajından alıntı: Mesajı Gör
perlci
"id.post_table" böyle bir kullanım yöntemi var mı?
Benim bildiğim ilk önce tablo adı sonra sütun adı yazılır.
Doğru ilk önce tablo adı sonra alan adı yazılır. Aceleyle yazdığım bir sorgu ve tabi hatalı oldu

SELECT post_table.title FORM post_table,cat_table WHERE post_table.id <> cat_table.post_id;
__________________
eperl.net video
perlci hatta değil   Alıntı Yaparak Yanıtla
Eski 02/10/2006, 23:39   #7 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 779
Varsayılan

soyle de olabilir sanirim:
Kod:
SELECT * FROM post_table p
WHERE p.id NOT IN (
    SELECT post_id FROM cat_table
)
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 03/10/2006, 00:18   #8 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 779
Varsayılan

Bu arada internette "(un)correlated subquery"lerin performanslariyla ilgili celiskili ifadeler var. Benim verdigim atix'inkinden daha hizli veya daha yavas olabilir, deneyip gormek lazim.

http://dev.mysql.com/doc/refman/5.0/...ubqueries.html
http://mysqld.active-venture.com/Opt...ubqueries.html
http://www.databasejournal.com/featu...le.php/3434641
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 03/10/2006, 00:27   #9 (permalink)
Agresif Üye
 
turker Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2002
Mesaj: 6,290
Varsayılan

SELECT post_table.id AS pid FROM post_table
WHERE pid NOT IN (
SELECT post_id FROM cat_table
)

şeklinde denemiştim ama sonuç döndürmemişti.
turker hatta değil   Alıntı Yaparak Yanıtla
Eski 03/10/2006, 09:05   #10 (permalink)
cevizin en küçük avatarı
 
pirilti Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Mesaj: 1,540
Varsayılan

ben subquery lerle joinler arasında şöyle bir fark olduğuna inanıyorum ve subqueryleri kullanmamaya çalışıyorum...
joinlerde indexler karşılaştırılarak sorgu çekilirken subquerylerde önce veriler kalıba göre çekilip daha sonra alt sorgudaki ifade içine konuyor ve yeni bir eşleştirme yapılıyor buda sorgunun işlem süresini artırıyor ve fazladan işlemci kullanılıyor..
Not:Tamamen sezgisel bir yaklaşım bilgiye dayanmıyor.
__________________
Sarp Pirilti Yap Olsun...olmuyorsa başka bir yol/şey dene ve devam et
pirilti 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
Ajax - IE sonuç yazmıyor SrcnCkr Javascript / DHTML / Ajax 5 31/12/2006 18:44
İki ayrı tablodan tek sonuç rejisor PHP 7 08/06/2005 20:42
Tablo içine tablo sokmak. penarena Veritabanları & SQL 7 28/11/2004 13:41
Aynı Kod > Farklı Sonuç EAN Web Tasarım 5 22/05/2003 03:28


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

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