"SQL" kategorisindeki yazılar

Mysql Left Join ile Count ve SUM Kullanmak

Başlık çok acayip oldu ama yapmak istediğimizden kısaca bahsedebilirim.

İki tane tablom var birinde firmalar diğerinde verilen servisler. Firmalara ait servisler giriliyor, bana lazım her firmaya ne kadar servis verilmiş ve toplam ne kadar servis vermişim.
Servisleri count ile saydırdım, tarih ve saat farklı sütunlardaydı CONCAT ile birleştirdim, TIMESTAMPDIFF ile dakika olarak farkı aldım, SUM ile de tüm dakikaları topladım, COALESCE ile toplam değer NULL ise 0 yazdırdım.
GROUP BY ile gruplayarak sadece firmalara göre işlem yaptırdım. 

Öyle işte…

İşte o kod:

SELECT
COUNT(servis.firmaid) as servissayisi, 
COALESCE(SUM(TIMESTAMPDIFF(MINUTE, CONCAT(servis.giristarih," ",servis.girissaat), CONCAT(servis.cikistarih," ",servis.cikissaat))),0) as toplamsure,
firma.id as firmaaid, firma.isim,firma.yetkili,firma.telefon1,firma.telefon2,firma.ilce,firma.sehir
FROM firma LEFT JOIN servis ON firma.id=servis.firmaid
GROUP BY firma.id
ORDER BY servissayisi DESC

edit: COALESCE(sum(…),0) ile NULL değeri 0 olarak yazdırdım.

Temel SQL Kodları

Veriyi seçme – SELECT cümlesi
Tablo yaratma – CREATE cümlesi
Tabloya ekleme – INSERT cümlesi
Kayıtları güncelleme – UPDATE cümlesi
Kayıt silme – DELETE cümlesi
Tabloyu silme – DROP cümlesi
Devamını oku »

Mysql Full-Text Search ile Performans Kazanın

Like ile yapılan query’ler oldukça kasmaktadır. Bunun için hem mysql’de hem de mssql’de sıkça kullanılan full-text search hakkında biraz bilgi vereceğim.

Öncelikle tabloların türüne bakıyoruz

SHOW TABLE STATUS 

tablomuzun türü mutlaka MYISAM olmalıdır. Değilse değiştirelim;

ALTER TABLE Table_Name ENGINE = MYISAM; 

Devamını oku »

The backup set holds a backup of a database other than the existing database

“The backup set holds a backup of a database other than the existing database” hatası mı alıyorsunuz? Canınız burnunuza mı geldi yedek yükleme yüzünden. Üzülmeyin…

Aşağıdaki kodu new query kısmına yazıp kendinize göre ayarlayıp çalıştırın 😉

RESTORE DATABASE veritabaniadi
FROM DISK = 'C:yedek.bak'
WITH REPLACE

SQL update komutu – Asp'de kullanımı

SQL içerisinde update yapabilmek için aşağıdaki kodu kullanıyoruz.

UPDATE tablo SET sutun1=neolsun, sutun2=yeni WHERE id=gelenid

Devamını oku »

SQL insert into oluşturma ve Asp’de kullanımı

SQL sorugusu ile veritabanına veri eklemek istediğinizde aşağıdaki kodu kullanırsınız.

INSERT INTO tablo (sutun1,sutun2) VALUES (sutun1,sutun2)

Sutun1, sutun2 kısımlarını kendinize göre çoğaltabilirsiniz.
Devamını oku »

SQL trigger ile delete işlemi – SQL delete trigger

Merhaba arkadaşlar,

SQL içerisinde bir veri silindiğinde başka tablodaki bağlantılı verileri de silmemiz gerektiği zamanlar olmuştur. Trigger ile bunu yapacağız Devamını oku »

SQL Server 2008'de Saving Changes Not Permitted hatası

SQL Server 2008 Management Studio ile bir tabloda değişiklik yaptığınız zaman, ayarlarınızdan dolayı aşağıdaki hatayı alıyor olacaksınız.

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.

Bunun nedeni; tablolarda designer tarafında yapılan değişiklikler için, SQL Server drop ve re-create işlemlerini uygular.Management Studio’daki bazı ayarlardan dolayı da bu işlem gerçekleşemiyor olabiliyor ve yukarıdaki hatayı alıyoruz.

Bunun için yapmamız gereken SQL Server Managemet Studio’dan yukarıdaki menü aracılığıyla(Tools > Options) Options’ı açıyoruz. Çıkacak ekrandan soldaki kısımdan Designer’ı seçtiğimizde karşımıza çıkacak ekrandaki “Prevent saving changes that require table re-creation” daki işareti kaldırıyoruz.

Bu işlemden sonra tablolar üstünde istediğimiz değişiklikleri yapabiliyor olacağız…

minepla.net

ASP Stored Procedure nasıl kullanılır

Yaklaşık 2-3 hafta önce Ankara likemind buluşmasında tanıştığım Ufuk Şahin ‘in tavsiye ve örnekleriyle stored procedure kullanmaya giriş yaptım.

Stored Procedure MSSQL veritabanında asp ‘nin gücüne güç katmakta, sorgularınızı hızlandırmaktadır.

Aşağıdaki kodu SQL serverdaki veritabanımızın stored procedure kısmına yazıyoruz

CREATE PROCEDURE sorgucagir

@gelenID int,

AS

BEGIN
select id, isim, yazi from blog where id=@gelenID
END
GO

Peki bunu asp sayfamıza nasıl çağırıyoruz;

Set rs = Conn.Execute("Exec sorgucagir @gelenID ='"& Gelen &"'; ")

işte bu kadar basit olarak ufak bi sorguyu stored procedure ile çağırdık.

Basit olarak bu şekilde başlayabilirsiniz bu konuya.

Saygılarımla
Kubilay Erkeç

Kategoriler