Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » SQL ve birden çok tabloda aynı anda arama olayı


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 25.06.2004   #1 (permalink)
 
fatihunal's Avatar
 
Üyelik Tarihi: 14.06.2004
Yer: Ege'nin en büyük köyü
Yaş: 26
Mesaj: 574
SQL ve birden çok tabloda aynı anda arama olayı


Merhabalar Arkadaşlar;

Bu SQL 'le oldum olasi gıcığımdır zaten. "Baba Coder" arkadaşımız yıllık izine ayrıldı, kod işleri de ortada kaldı. Ne anlarım ki bu SQL 'den ...

Neyse, sorum şu olacak;

Veritabanımızda a, b, c, d, e, f gibi tablolarımız olsun. Ve tüm bu tabloların içinde de baslik ve yazi gibi iki tane alan bulunsun. SQL kullanarak tüm bu alanlarda aynı anda nasıl arama yaptırabilirim. Tek bir tablo da istediğim alanda istediğim şekilde arama yaptırabiliyorum ama aynı anda bu a, b, c, d, e, f tabloları içinde ki baslik ve yazi alanlarında arama yaptırtamıyorum, deli olacağım. 2 gündür bu SQL yüzünden neler çekiyorum.
Ufacık bir tek tırnak, virgün, ya da & işareti yüzünden of of olmuyor ya ...

Lütfen, yardımcı olabilirseniz sevinirim.
İyi çalışmalar ...
fatihunal şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.06.2004   #2 (permalink)
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,947
Re: SQL ve birden çok tabloda aynı anda arama olayı

en basit haliyle

Kod:
aranan = "a"
SQL = " select baslik, yazi from a where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from b where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from c where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from d where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from e where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from f where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"&_
   " union "&_
  " select baslik, yazi from g where  baslik like '%"& aranan &"%' AND yazi like '%"& aranan &"%'"
halinde yapabilirsin. AND ifadesi OR da olabilir. yada join kullanarak yapabilirsin.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.06.2004   #3 (permalink)
 
uzaytek's Avatar
 
Üyelik Tarihi: 06.07.2001
Yer: Ankara
Yaş: 33
Mesaj: 679
Re: SQL ve birden çok tabloda aynı anda arama olayı

bu kadar çok(6 tane) join yada union un oldugu yerde bir tasarım hatası vardır gibi geliyor bana? yanılıyor muyum?
uzaytek şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.06.2004   #4 (permalink)
 
blurise's Avatar
 
Üyelik Tarihi: 05.12.2003
Yer: İstanbul
Mesaj: 899
Re: SQL ve birden çok tabloda aynı anda arama olayı

"Baba Coder" galiba çocuk yapmadan baba olmuş.

Tablolama yapısını bir gözden geçirin derim, 1st NF, 2nd NF diye bişeyler var..
__________________
Günce;
Zübeyr Dereli;
PGP Public Key;
blurise şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.06.2004   #5 (permalink)
 
fatihunal's Avatar
 
Üyelik Tarihi: 14.06.2004
Yer: Ege'nin en büyük köyü
Yaş: 26
Mesaj: 574
Re: SQL ve birden çok tabloda aynı anda arama olayı

Veritabanımızda a, b, c, d, e, f gibi tablolarımız olsun. Ve tüm bu tabloların içinde de baslik ve yazi gibi iki tane alan bulunsun. SQL kullanarak tüm bu alanlarda aynı anda nasıl arama yaptırabilirim. Tek bir tablo da istediğim alanda istediğim şekilde arama yaptırabiliyorum ama aynı anda bu a, b, c, d, e, f tabloları içinde ki baslik ve yazi alanlarında arama yaptırtamıyorum, deli olacağım.

2 gündür bu SQL yüzünden neler çekiyorum.
Ufacık bir tek tırnak, virgün, ya da & işareti yüzünden of of olmuyor ya ...

"absconder arkadaşımın verdiği kodların ıncığını cınğını çıkardım, mutlaka bir yerde hata veriyor"

Benim kodlarım ise bu ;

Kod:
<%
ara = Request.form("ara")
if not ara = "" then
dnsname= "Data Source=" & server.Mappath("veritabani.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
Set Conn = server.CreateObject("ADODB.Connection")
Conn.Open dnsname

set RS = Conn.Execute("SELECT baslik, yazi FROM a WHERE yazi  LIKE  '%" & ara & "%' or baslik   LIKE  '%" & ara & "%' ORDER BY baslik DESC")

If not RS.eof then
 rs.movefirst
	Do
	
response.write "<table width=100% border=0 cellpadding=0 cellspacing=1>"
response.write "<tr>"
response.write "<td width=100% class=baslik>"
response.write RS("baslik")
response.write "</td>"
response.write "</tr>"
response.write "<tr>"
response.write " <td width=100% ><br>"
response.write "</tr>"
response.write " </td>"
response.write "<tr>"
response.write " <td width=100% class=yazi>"

fu = Left(rs("yazi"), 250)
fu = replace(fu,ara,"<b>******</b>")

response.write fu

response.write " ..."
response.write "</td>"
response.write "</tr>"
response.write "<tr>"
response.write "<td width=100% >"
response.write "<hr color=#C6C7C6 size=1>"
response.write "</td>"
response.write "</tr>"
response.write "</table>"
				
		Rs.movenext
	Loop until RS.eof
End if
Conn.Close
   	Set Conn = Nothing
   	
   	end if
%>
"Baba Coder" demem deki amacım ise sizleri incitmek, ya da kırmak değil. Hatam varsa affola. Sadece hem arkadaşım hem de iş arkadaşım olduğu için biz ona öyle diyoruz. Kafadan tam bir coder dir ama herif dağın birine tatile çıktı, notebook' unu bile yanına almamış, 56k ve GPRS ile bile bağlantı yapılamıyor gittiği yerde. Hatam varsa özür dilerim.

Ve inanın çıldıracağım, hiç bir SQL koduyla bu kadar uğraşmadım, o nedenle biraz sinirliyim. Sanırım, benimde tatile ihityacım var. Düğün dü, işler di, evlilikti derken, kafam durmuş. Daha önce yapabildiklerimi bile yapamıyorum. Bu kadar aptal olamam ya.

Lütfen, yardımcı olabilirseniz sevinirim.
İyi çalışmalar ...
fatihunal şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.06.2004   #6 (permalink)
 
uzaytek's Avatar
 
Üyelik Tarihi: 06.07.2001
Yer: Ankara
Yaş: 33
Mesaj: 679
Re: SQL ve birden çok tabloda aynı anda arama olayı

bizler bu tip şeylerle incinecek insanlar değiliz ki, ayrıca birak bizi kim kızar ki böyle şeye . benim merak ettiğim altyapıda bir şeyi yanlış yapıyorsun galiba. genelde bu kadar çok join'e ihtiyaç duyulmaz.

mesela siir,yazi,makale,haber diye tablolarin olsun ve bunlarda hepsinde ayrı olarak baslik,yazi alanları bulunsun sen bir tane baslik aramak icin bu 4 tabloda arayacağım diye boşuna yoruluyorsun gibi geliyor bana. formda bir tanede select box olur hangi tabloda arama yaptıracağınıda ordan şeçtirirsin yazi ise yazida,makale ise makalede gibi.

neyse diyelim ki ihtiyacın oldu joinlerle uğraşmak yerine en temelde demişsin ya 1 tanede sorunsuz şekilde yapabiliyorum diye alt alta 6 tane sorgu yap kim tutarki seni. bu kayıt sayısına bağlı olarak 6 joinden daha performanslı olur. join yapmak her zaman biraz pahalıdır.

joinle,union ile olsun diyorsan tablolardan örnek data göndermen vakti olan birisinin SQL kodunu yazmasına yardımcı olabilir. ama dedigim gibi performans göz önünde bulundurularak bu joinden kaçınılması gerekir bana göre.

saygılar iyi çalışmalar.
uzaytek şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.06.2004   #7 (permalink)
 
fatihunal's Avatar
 
Üyelik Tarihi: 14.06.2004
Yer: Ege'nin en büyük köyü
Yaş: 26
Mesaj: 574
Re: SQL ve birden çok tabloda aynı anda arama olayı

Arkadaşlar, bu combo box olayı benimde başından beri düşündüğüm ve daha önce yaptığım ve yapabildiğim birşey. Ancak, şuan yana yana coder olmadığım için kodlarla uğraşmamın ve aramamın nedeni, bu kodların tamamen veritabanı sistemi olan bir şirket web sayfasının site içi arama kısmında kullanılacak. Combo Box koyup, arama yaptırmak kabalık olur. Nerede arayacaksın zaten 8-10 sayfa var. Combo Box olsa adam şurda arayacağım deyince a tablosu, burda deyince b tablosu gelir ama combo box kullanamam.

Bir de sorunum şu; "ben coder değil, tasarımcıyım." Kod bilgim %40 vs. dir. Üstelik SQL bilgim %5 'dir.

sorun ve hata şurda bana göre;

Kod:
set RS = Conn.Execute("SELECT baslik, yazi FROM a WHERE yazi  LIKE  '%" & ara & "%' or baslik   LIKE  '%" & ara & "%' ORDER BY baslik DESC")

Burada a yazan yerde; a and b and c and d and e and f vs. gibi a & b & c & d & e & f vs gibi ya da a or b or c or d or e or f vs. gibi yada a, b, d, e, f vs. gibi birşey olmalı ama denemem gereken herşeyi denedim, olmuyor. Bir tek işaret nelere kadir.

Ayrıca, "1 tanede sorunsuz şekilde yapabiliyorum diye alt alta 6 tane sorgu yapıp" ta başında da denedim ama yine olmadı. Hiçbir kodla bu kadar uğraştığımı bilmiyor ve hatırlamıyorum.

Arkadaşlarım, vakti olan birisi Lütfen eksiğim olan kodu tamamlarsa çok dua edeceğim.
Yardımcı olacağınızdan şüphem yok, iyi çalışmalar.
fatihunal şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 28.06.2004   #8 (permalink)
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,947
Re: SQL ve birden çok tabloda aynı anda arama olayı

burada hata verebilcek tek nokta, alan adlarının yada tablo adının yanlış yazılmasından olabilir. onun dışında yapı doğrudur. ya a tablosu diye birşey yoktur, ya baslik ve yazi alan adları yanlıştır. bence sadece execute ettiğinde oluşan hata kodunu yazarsan daha fazla yardımcı olabiliriz.

bunun dışında union kullndığında sonuçta aynı alan sayısı kadar -yani select ile from arasında- eşit sayıda ve eşit yapıda alanlar seçilmelidir.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

arama , anda , ayni , tabloda , birden , sql



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 15:54.