From: ougur@infotech.com.tr
Date: Fri 08 Oct 2004 - 11:00:56 EDT
son selecti, "where" clausesundaki "in" statementini , select i subque=
ry
sayabilir.
=
=
=20
Y=FCksel =D6ZCAN =
=
=20
<yukselozcan@celiknet.com> To: <l=
inux-programlama@liste.linux.org.tr> =
=20
Sent by: cc: =
=
=20
linux-programlama-bounce@liste.li Subject: =
[linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletmek =
=20
nux.org.tr =
=
=20
=
=
=20
=
=
=20
08.10.2003 17:52 =
=
=20
Please respond to =
=
=20
linux-programlama =
=
=20
=
=
=20
=
=
=20
San=FDr=FDm hemen alttaki kod kesinlikle calisacak
update stok_kartlari
set miktar =3D (select hareket_miktari from stok_hareketleri where
fis_no=3D'000005' )
where stok_id =3D (select stok_id from stok_hareketleri where
fis_no=3D'000005' )
=C7al=FD=FEmayabilir de :)) emin de=F0ilim a=E7=FDk=E7as=FD
----- Original Message -----
From: "Y=FCksel =D6ZCAN" <yukselozcan@celiknet.com>
To: <linux-programlama@liste.linux.org.tr>
Sent: Wednesday, October 08, 2003 5:43 PM
Subject: [linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletme=
k
> > Merhaba;
>
> =D6zg=FCr bey ilginize te=FEekk=FCr ederim.
>
> > Hemen bir deneme yapiyorum, evet cal=3DFDsti.
> > Sizin isinize yararmi bilmem tabi.
> >
> > update users
> > set LAST_LOGIN_TIME_STAMP=3D3D(select
> > LAST_LOGIN_TIME_STAMP-1
> > from users
> > where username=3D3D'ozgur' )
> > where username=3D3D'ozgur2'
> yaln=FDz bana sunu gibi bisey lazim,
>
> update stok_kartlari
> set miktar =3D (select hareket_miktari, stok_karti_id
> from stok_hareketleri
> where fis_no=3D'000005' )
> where stok_id =3D stok_karti_id
>
> yani stok kartlari tablosunda stok_id sine bakip miktar kismini
guncellemem
> gerekiyor.
> Bunun i=E7inde stok harekeleri tablosunda fis numarasi '000005' olan
> hareketlerin stok_id ve hareket_miktari' ni alip, aldigim stok_id sin=
e
> bakarak ilgili stok kartinin miktar kismini guncellemek istiyorum. Ev=
e
> gidince yukar=FDdaki ornekleri deneyecegim ama san=FDr=FDm calismayac=
ak.
Simdilik
> bu islemi 2 sorguda dongu ile hallediyorum. Yaln=FDz bunlar=FDi c(php=
degil)
ile
> yaptigim icin tablo optimizasyonuna bi sekilde zarar veriyor. San=FDr=
=FDm
> mysql_free_result falan yapmam lazim. Onu da yapamiyorum cunku ilgili=
> stok_fisinde 1'den fazla kay=FDt oldugunda(genelde cok kayit olur)
free_result
> yaparsam sadece ilk satiri alir, fis icerisindeki diger satirlara
ulasamam.
> Optimizasyonun bozulmas=FD datalar=FD riske atacagindan dolayi saniri=
m daha
> farkl=FD(muhtemelen uzun) =E7=F6z=FCmler bulmam gerekiyor. Herseye ra=
gmen
birisinin
> konuyla ilgilenmesi guzel ve takdir edilecek bir olay.
>
> >
> >
> > Kolay gelsin.
> >
> > not: oracle da denedim. (ikinci query i sub query saymazsak mysqlde=
de
> > calismali)
> >
> > Ozgur Ugur
> > Bil.Muh-Istanbul
> > Infotech
>
>
=