asp mysql sorguda birden fazla tablo birleştirme ve arama
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
asp mysql sorguda birden fazla tablo birleştirme ve arama
herkese kolay gelsin
yaklaşık 39 mysql db si var elimde bunları bir leştirip tek bir hale getirmek ama beceremedim hepsi lazım degil lazım olanları bir türlü bir leştiremedim
DB ADI : an_telai - TABLOLAR TELAIO,PV_CODE
TELAIO İÇERİK : ZCFC3150002319741
PV_CODE İÇERİK : 10011131000140
YAP MAK İSTEDİGİM AN_TELAI İÇİNDE TELAIO ARAMA YAPACAK ZCFC3150002319741 BUNU BULACAK VE PV _CODEYI ALIP
DİGER DB
VP YE GİDİP ONUN İÇİNDE PV_CODE İLE KARŞILAŞTIRIP 10011131000140 BUNU BULUP CBV_CODE YI ALIP
DİGER DB
scheda_tecnica_vcb GİDİP CBV_CODE İLE KARŞILASTIRIP MODELLO,CD_MOD_COMMLE,ID_MOTORE Yİ ALICAM
DAHA GERİSİ VARDA DB İÇİNDE HALA GERİSİNİ NERDEN ALCAM BULAMADIM ONU BULURUZ SIRASINI DA BUNLARI BİR BİRİNE BAGLAYA BİLİRSEM GERİSİNİ ALABİLİRİM
BANA BAŞLANGIÇ NAKTASI VE BİR ÖRNEK SORGU LAZIM YARDIMCI OLABİLİRMİSİNİZTEKRARDAN KOLAY GELSİN...
yaklaşık 39 mysql db si var elimde bunları bir leştirip tek bir hale getirmek ama beceremedim hepsi lazım degil lazım olanları bir türlü bir leştiremedim
DB ADI : an_telai - TABLOLAR TELAIO,PV_CODE
TELAIO İÇERİK : ZCFC3150002319741
PV_CODE İÇERİK : 10011131000140
YAP MAK İSTEDİGİM AN_TELAI İÇİNDE TELAIO ARAMA YAPACAK ZCFC3150002319741 BUNU BULACAK VE PV _CODEYI ALIP
DİGER DB
VP YE GİDİP ONUN İÇİNDE PV_CODE İLE KARŞILAŞTIRIP 10011131000140 BUNU BULUP CBV_CODE YI ALIP
DİGER DB
scheda_tecnica_vcb GİDİP CBV_CODE İLE KARŞILASTIRIP MODELLO,CD_MOD_COMMLE,ID_MOTORE Yİ ALICAM
DAHA GERİSİ VARDA DB İÇİNDE HALA GERİSİNİ NERDEN ALCAM BULAMADIM ONU BULURUZ SIRASINI DA BUNLARI BİR BİRİNE BAGLAYA BİLİRSEM GERİSİNİ ALABİLİRİM
BANA BAŞLANGIÇ NAKTASI VE BİR ÖRNEK SORGU LAZIM YARDIMCI OLABİLİRMİSİNİZTEKRARDAN KOLAY GELSİN...
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
SELECT * from an_telai.TELAIO LEFT JOIN VP ON TELAIO.PV_CPDE = VP.PV_CODE WHERE TELAIO = "ZCFC3150002319741"
diğer tabloya tekrar left join yapabilirsin.
diğer tabloya tekrar left join yapabilirsin.
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
SELECT * from an_telai.TELAIO LEFT JOIN VP ON TELAIO.PV_CPDE = VP.PV_CODE LEFT JOIN VP ON TELAIO.PV_CPDE = VP.PV_CODE WHERE TELAIO "ZCFC3150002319741"
gibimi ikinciyi ekliyorum ??
gibimi ikinciyi ekliyorum ??
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
ben böyle yapmak zorunda kaldım ikinciyi hatta üçüncüyü tek bir sorguna nasıl yazabilirim ?
şimdiden teşekkürler
<%
aranan=Request("aranan" )
Set Rs = Server.CreateObject("ADODB.Recordset" )
sql = "SELECT vp.*,an_telai.* from an_telai LEFT JOIN vp ON an_telai.PV_CODE = VP.PV_CODE WHERE an_telai.TELAIO LIKE '%"&aranan&"%' "
Rs.Open sql,bag,1,3
If Rs.Eof Then
Response.Write ("Kayit Bulunamadi")
Else
Set Rs2 = Server.CreateObject("ADODB.Recordset" )
sql = "SELECT * from scheda_tecnica_vcb LEFT JOIN vp ON VP.PV_CODE =scheda_tecnica_vcb.cbv_code WHERE scheda_tecnica_vcb.cbv_code LIKE '%"&rs("cbv_code")&"%' "
Rs2.Open sql,bag,1,3
%>
<table width="657" border="1">
<tr>
<td width="113">Aranilan sase no:</td>
<td width="201"><% response.write (aranan)%></td>
<td width="57">Vp No:</td>
<td width="258"><%=rs("pv_code")%>-<%=rs("cbv_code")%></td>
</tr>
<tr>
<td>araç Modeli </td>
<td><%=rs2("cd_mod_commle")%></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<% End If %>
şimdiden teşekkürler
<%
aranan=Request("aranan" )
Set Rs = Server.CreateObject("ADODB.Recordset" )
sql = "SELECT vp.*,an_telai.* from an_telai LEFT JOIN vp ON an_telai.PV_CODE = VP.PV_CODE WHERE an_telai.TELAIO LIKE '%"&aranan&"%' "
Rs.Open sql,bag,1,3
If Rs.Eof Then
Response.Write ("Kayit Bulunamadi")
Else
Set Rs2 = Server.CreateObject("ADODB.Recordset" )
sql = "SELECT * from scheda_tecnica_vcb LEFT JOIN vp ON VP.PV_CODE =scheda_tecnica_vcb.cbv_code WHERE scheda_tecnica_vcb.cbv_code LIKE '%"&rs("cbv_code")&"%' "
Rs2.Open sql,bag,1,3
%>
<table width="657" border="1">
<tr>
<td width="113">Aranilan sase no:</td>
<td width="201"><% response.write (aranan)%></td>
<td width="57">Vp No:</td>
<td width="258"><%=rs("pv_code")%>-<%=rs("cbv_code")%></td>
</tr>
<tr>
<td>araç Modeli </td>
<td><%=rs2("cd_mod_commle")%></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<% End If %>
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
Tabloları hiyerarşi sırasına göre seçmelisiniz. Anladığım kadarıyla VP isimli tablonuz ana tablonuz. Yinede çözmek zor geldi. İlişkiyi şekilsel olarak çizerseniz daha kolay olacaktır.
İlk SQL de from kısmında bu tabloyu kullanınız. Join ettiğiniz tablolar buna bağlı olsun. Eğer tablolar hiyerarşi şeklindeyse parentez kullanarak join yapsını belirtiniz.
select * from tablo1 (left join tablo2 using alan1=alan2 left join tablo3 using alan1=alan4)
İlk SQL de from kısmında bu tabloyu kullanınız. Join ettiğiniz tablolar buna bağlı olsun. Eğer tablolar hiyerarşi şeklindeyse parentez kullanarak join yapsını belirtiniz.
select * from tablo1 (left join tablo2 using alan1=alan2 left join tablo3 using alan1=alan4)
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
kolay gelsin tekrardan yapmak istedigim bu aslında :=) tablo 1 de arama yapacagız pv_codeyi alacak bir birine baglı oarak gidecek
tablo3 = alan3 codıce_opt 23 bu alanve tablo4 = alan2 codıce_opt 23 bu alanda 1 den çok var 23 örnek verildi ortalama 1 150 arasnda eşit olan deger var belki daha fazla birz karışık ama db leri yollıyamıyorum çok büyükler.. toplam 4,5 gb
tablo 1 = alan1 telaio like 'ZCFC3150002319741'
tablo 1 = alan2 pv_code 10011131000140
tablo2 = alan1 pv_code 10011131000140
tablo2 = alan2 cbv_code 10011131
tablo3 = alan1 pvcode 10011131000140
tablo3 = alan2 cbv_code 10011131
tablo3 = alan3 codıce_opt 23
tablo4 = alan1 cbv_code 10011131
tablo4 = alan2 codıce_opt 23
tablo4 = alan1 tonumber 500108
tavlo5 = alan1 tonumber 500108
tablo5 = alan2 classe 50
tablo5 = alan3 language_code 3
şu ana kadar burayı buldum devamı var ama yavaş yavaş bulabiliyorum aynı zamanda iş yerinde başka işlere bakıyorum
tablo3 = alan3 codıce_opt 23 bu alanve tablo4 = alan2 codıce_opt 23 bu alanda 1 den çok var 23 örnek verildi ortalama 1 150 arasnda eşit olan deger var belki daha fazla birz karışık ama db leri yollıyamıyorum çok büyükler.. toplam 4,5 gb
tablo 1 = alan1 telaio like 'ZCFC3150002319741'
tablo 1 = alan2 pv_code 10011131000140
tablo2 = alan1 pv_code 10011131000140
tablo2 = alan2 cbv_code 10011131
tablo3 = alan1 pvcode 10011131000140
tablo3 = alan2 cbv_code 10011131
tablo3 = alan3 codıce_opt 23
tablo4 = alan1 cbv_code 10011131
tablo4 = alan2 codıce_opt 23
tablo4 = alan1 tonumber 500108
tavlo5 = alan1 tonumber 500108
tablo5 = alan2 classe 50
tablo5 = alan3 language_code 3
şu ana kadar burayı buldum devamı var ama yavaş yavaş bulabiliyorum aynı zamanda iş yerinde başka işlere bakıyorum
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
yukarıda yazdıgım sıralamaya göre nasıl yapabilrim bu join i ?
mkysoft bunu
select * from tablo1 (left join tablo2 using alan1=alan2 left join tablo3 using alan1=alan4)
yazmış yollamış saolsun ama onu beceremedim yanlış bir halt ettim sanırım bunu nasıl bir sıraya koarak yapacagım anlatabilirmisiniz
mkysoft bunu
select * from tablo1 (left join tablo2 using alan1=alan2 left join tablo3 using alan1=alan4)
yazmış yollamış saolsun ama onu beceremedim yanlış bir halt ettim sanırım bunu nasıl bir sıraya koarak yapacagım anlatabilirmisiniz
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
tablo1 pv_code ile tablo2 pv_code bağlıhaznedarli yazdı:kolay gelsin tekrardan yapmak istedigim bu aslında :=) tablo 1 de arama yapacagız pv_codeyi alacak bir birine baglı oarak gidecek
tablo3 = alan3 codıce_opt 23 bu alanve tablo4 = alan2 codıce_opt 23 bu alanda 1 den çok var 23 örnek verildi ortalama 1 150 arasnda eşit olan deger var belki daha fazla birz karışık ama db leri yollıyamıyorum çok büyükler.. toplam 4,5 gb
tablo 1 = alan1 telaio like 'ZCFC3150002319741'
tablo 1 = alan2 pv_code 10011131000140
tablo2 = alan1 pv_code 10011131000140
tablo2 = alan2 cbv_code 10011131
tablo3 = alan1 pvcode 10011131000140
tablo3 = alan2 cbv_code 10011131
tablo3 = alan3 codıce_opt 23
tablo4 = alan1 cbv_code 10011131
tablo4 = alan2 codıce_opt 23
tablo4 = alan1 tonumber 500108
tavlo5 = alan1 tonumber 500108
tablo5 = alan2 classe 50
tablo5 = alan3 language_code 3
şu ana kadar burayı buldum devamı var ama yavaş yavaş bulabiliyorum aynı zamanda iş yerinde başka işlere bakıyorum
tablo3 pv_code ve cbv_code ile tablo2 bağlı
tablo 4 cvb_code ve codice_opt ile tablo3 bağlı
tablo5 tonumber ile tablo4 bağlı
bu şekilde anlatsanız daha kolay olacaktı.
select * from tablo1 left join tablo2 using on pv_code left join tablo3 using on (pv_code,cbv_code) left join tablo4 using on (cvb_code,codice_port) left join tablo5 using on (tonumber) olabilir.
İşin kolayı, eğer komutu yazmakta zorlanıyorsanız, yapnın benzerini Microsoft Access ile oluşturun ve sorgu sihirbazı ile yapın. Sonra SQL'ine bakabilirsiniz. Gerçi MySQL içinde bu tür araçlar var, SQLyog gibi. Erinmedim Access de yaptım:
SELECT *
FROM table5 INNER JOIN (table4 INNER JOIN ((table2 INNER JOIN table1 ON table2.pv_code = table1.pv_code) INNER JOIN table3 ON (table2.cvb_code = table3.cvb_code) AND (table2.pv_code = table3.pvcode)) ON (table2.cvb_code = table4.cvb_code) AND (table4.codice_opt = table3.codice_opt) AND (table4.cvb_code = table3.cvb_code)) ON table5.tonumber = table4.tonumber
WHERE table1.telaio like "ZCFC3150002319741";
access dosyasınıda ekliyorum.
- Dosya ekleri
-
- Database2.zip
- (25.56 KiB) 250 kere indirildi
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
çok teşekkürler şimdi deniyecegim ama çaılışacagından emminim şimdiden gene teşekkürler...
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
SELECT * FROM tonumber INNER JOIN (vcb_tavole_pacc INNER JOIN ((vp INNER JOIN an_telai ON vp.pv_code = an_telai.pv_code)
INNER JOIN vp_opt_pacc ON (vp.cbv_code = vp_opt_pacc.cbv_code) AND (vp.pv_code = vp_opt_pacc.pv_code)) ON (vp.cbv_code = vcb_tavole_pacc.cbv_code) AND (vcb_tavole_pacc.codice_opt = vp_opt_pacc.codice_opt) AND (vcb_tavole_pacc.cbv_code = vp_opt_pacc.cbv_code)) ON tonumber.tonumber = vcb_tavole_pacc.tonumber WHERE an_telai.telaio like 'ZCFC3150002319740' ;
BU şekile getirdim ama gene olmadı bom boş veriyor tabloları ben yanlış yaptım sanırım db yi mdb ye çevirip içindekileri biraz boşaltıp yollıyacagım yada ben telefonumu yassam 08:30 - 19:00 saatleri arasında pc başındayım tel versem teamwiever falan açsam kendin ne yapmak istedigimi ekranda görsen olurmu ??
INNER JOIN vp_opt_pacc ON (vp.cbv_code = vp_opt_pacc.cbv_code) AND (vp.pv_code = vp_opt_pacc.pv_code)) ON (vp.cbv_code = vcb_tavole_pacc.cbv_code) AND (vcb_tavole_pacc.codice_opt = vp_opt_pacc.codice_opt) AND (vcb_tavole_pacc.cbv_code = vp_opt_pacc.cbv_code)) ON tonumber.tonumber = vcb_tavole_pacc.tonumber WHERE an_telai.telaio like 'ZCFC3150002319740' ;
BU şekile getirdim ama gene olmadı bom boş veriyor tabloları ben yanlış yaptım sanırım db yi mdb ye çevirip içindekileri biraz boşaltıp yollıyacagım yada ben telefonumu yassam 08:30 - 19:00 saatleri arasında pc başındayım tel versem teamwiever falan açsam kendin ne yapmak istedigimi ekranda görsen olurmu ??
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
SELECT DISTINCTROW lessico_cl.CLASSE , lessico_cl.DS_BREVE
FROM
an_telai
INNER JOIN vp ON vp.PV_CODE = an_telai.PV_CODE
INNER JOIN filtro_dati_catalogo ON filtro_dati_catalogo.PV_CODE = vp.PV_CODE AND filtro_dati_catalogo.CBV_CODE = vp.CBV_CODE
INNER JOIN vp_opt_pacc ON vp_opt_pacc.PV_CODE = filtro_dati_catalogo.PV_CODE AND vp_opt_pacc.CBV_CODE = filtro_dati_catalogo.CBV_CODE
INNER JOIN vcb_tavole_pacc ON vcb_tavole_pacc.CBV_CODE = vp_opt_pacc.CBV_CODE AND vcb_tavole_pacc.CODICE_OPT = vp_opt_pacc.CODICE_OPT
INNER JOIN an_tavole ON an_tavole.COD_TAVOLA_GRAFICA = vcb_tavole_pacc.COD_TAVOLA_GRAFICA AND an_tavole.TONUMBER = vcb_tavole_pacc.TONUMBER AND an_tavole.FL_TAVOLA_MADRE = 1
INNER JOIN tonumber ON tonumber.TONUMBER = an_tavole.TONUMBER
INNER JOIN lessico_cl ON lessico_cl.CLASSE = tonumber.CLASSE AND lessico_cl.LANGUAGE_CODE = 3
WHERE an_telai.TELAIO = 'ZCFC3572005481899'
ORDER BY lessico_cl.CLASSE
NAVİCAT sayesinde bu hale getidim mkysoft saolsun akıllı fazladan verdi ama ben gene tıkandım
INNER JOIN lessico_gr ON lessico_gr.GRUPPO = TONUMBER.TONUMBER EKLEMEM GEREK AMA BİR SORUN VAR
lessico_gr.GRUPPO İÇERİK 5001
TONUMBER.TONUMBER İÇERİKLER 500100 500101 520000 520010 520020 GİBİ GİDİYOR BANA
TONUMBER.TONUMBER SADECE SONU 00 LA BİTENLERİ CEKECEK VE 00 HARİÇ
JOIN lessico_gr ON lessico_gr.GRUPPO YAZACAK :=)))
FROM
an_telai
INNER JOIN vp ON vp.PV_CODE = an_telai.PV_CODE
INNER JOIN filtro_dati_catalogo ON filtro_dati_catalogo.PV_CODE = vp.PV_CODE AND filtro_dati_catalogo.CBV_CODE = vp.CBV_CODE
INNER JOIN vp_opt_pacc ON vp_opt_pacc.PV_CODE = filtro_dati_catalogo.PV_CODE AND vp_opt_pacc.CBV_CODE = filtro_dati_catalogo.CBV_CODE
INNER JOIN vcb_tavole_pacc ON vcb_tavole_pacc.CBV_CODE = vp_opt_pacc.CBV_CODE AND vcb_tavole_pacc.CODICE_OPT = vp_opt_pacc.CODICE_OPT
INNER JOIN an_tavole ON an_tavole.COD_TAVOLA_GRAFICA = vcb_tavole_pacc.COD_TAVOLA_GRAFICA AND an_tavole.TONUMBER = vcb_tavole_pacc.TONUMBER AND an_tavole.FL_TAVOLA_MADRE = 1
INNER JOIN tonumber ON tonumber.TONUMBER = an_tavole.TONUMBER
INNER JOIN lessico_cl ON lessico_cl.CLASSE = tonumber.CLASSE AND lessico_cl.LANGUAGE_CODE = 3
WHERE an_telai.TELAIO = 'ZCFC3572005481899'
ORDER BY lessico_cl.CLASSE
NAVİCAT sayesinde bu hale getidim mkysoft saolsun akıllı fazladan verdi ama ben gene tıkandım
INNER JOIN lessico_gr ON lessico_gr.GRUPPO = TONUMBER.TONUMBER EKLEMEM GEREK AMA BİR SORUN VAR
lessico_gr.GRUPPO İÇERİK 5001
TONUMBER.TONUMBER İÇERİKLER 500100 500101 520000 520010 520020 GİBİ GİDİYOR BANA
TONUMBER.TONUMBER SADECE SONU 00 LA BİTENLERİ CEKECEK VE 00 HARİÇ
JOIN lessico_gr ON lessico_gr.GRUPPO YAZACAK :=)))
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
where şartına yazabilirsin, copy fonksiyonu var.
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
ben anlamadım bu copy olayını nasıl yapılır bu yada tonumberden iki tabloyu alıp oraya bir de yasza olur
tonumber.alan1=50
tonumber.alan2=01 yada bunları birleştirip
JOIN lessico_gr ON lessico_gr.GRUPPO= tonumber.alan1=50 ve tonumber.alan2=01 de olabilir ama nasıl bir leştiricem ?
tonumber.alan1=50
tonumber.alan2=01 yada bunları birleştirip
JOIN lessico_gr ON lessico_gr.GRUPPO= tonumber.alan1=50 ve tonumber.alan2=01 de olabilir ama nasıl bir leştiricem ?
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: asp mysql sorguda birden fazla tablo birleştirme ve aram
INNER JOIN lessico_gr ON lessico_gr.GRUPPO = concat(TONUMBER.CLASSE,TONUMBER.GRUPPO)
YOLU İLE HALLETTİM :=)))
YOLU İLE HALLETTİM :=)))