Sql den anlayanlar

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

Şu sorguyu dener misin

SELECT *
FROM tablo_adı
WHERE ID BETWEEN 1 AND 25
AND (r1 = 15 OR r2 = 15 OR r3 = 15 OR r4 = 15
OR r5 = 15 OR r6 = 15 OR tpl LIKE '%15%');

Açıklama:

SELECT *: Tüm sütunları seçiyoruz.
FROM tablo_adı: Verilerin bulunduğu tabloyu belirtiyoruz (bunu kendi tablonuzun adıyla değiştirin).
WHERE ID BETWEEN 1 AND 25: ID'si 1 ile 25 arasında olan kayıtları alıyoruz.
AND (r1 = 15 OR r2 = 15 OR r3 = 15 OR r4 = 15 OR r5 = 15 OR r6 = 15): r1, r2, r3, r4, r5 veya r6 ve tpl sütunlarından herhangi birinin 15 olduğu kayıtları filtreliyoruz.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Kayserilifatih kardeşim yanıtın için teşekkürler.Burda sütunları teke tek aramayı sonraki plana alalım. sadece r7 sütununda bulunan sayıların içinden 38 sayısını ama 25. haftaya göre yani ID si 25. Birde bu text kutularına aldığımız rakamları aynı anda sorgulayamıyoruzmu.olursa onu nasıl yazarız sql sorgu olarak.

Resim
Önce resmi veriyorum zannettiydim ama yüklenmemiş şimdi veriyorum belki bir nebze bize yardımı olur diğer arkadaşlarda incelerler.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

Sadece r7 Sütununda 38 Sayısını Sorgulama

Eğer sadece r7 sütununda 38 sayısını sorgulamak istiyorsan ve ID'si 25 olan kaydı almak istiyorsan, sorgu şu şekilde olacaktır:

SELECT *
FROM tablo_adı
WHERE ID = 25
AND r7 LIKE '%38%';

Eğer r7 sütununda birden fazla sayıyı (örneğin 15 ve 38) aynı anda sorgulamak istiyorsan, LIKE ifadelerini birleştirerek yapabilirsin. Örneğin:

SELECT *
FROM tablo_adı
WHERE ID = 25
AND (r7 LIKE '%15%' OR r7 LIKE '%38%');

Açıklama:

SELECT *: Tüm sütunları seçiyoruz.
FROM tablo_adı: Verilerin bulunduğu tabloyu belirtiyoruz (bunu kendi tablonun adıyla değiştirin).
WHERE ID = 25: ID'si 25 olan kaydı alıyoruz.
AND (r7 LIKE '%15%' OR r7 LIKE '%38%'): r7 sütununda 15 veya 38 sayısının geçtiği kayıtları filtreliyoruz.

Bu sorgu, ID'si 25 olan kaydın r7 sütununda 15 veya 38 sayılarından en az birinin bulunduğu kayıtları getirir.

Nasıl Kullanılır:

Yukarıdaki sorgulardan birini veritabanı yönetim sisteminde (örneğin, MySQL, PostgreSQL, SQL Server vb.) çalıştırmak için sorgu penceresine yapıştırın ve çalıştırın.
Her sorgu, belirli bir koşula göre verileri döndürür. İhtiyacına göre hangi sorguyu kullanmak istiyorsan onu seçip çalıştırmalısın.

Eğer her iki sorguyu da çalıştırmak istersen, her birini ayrı ayrı çalıştırmalısın. Yani, ilk sorguyu çalıştırdıktan sonra ikinci sorguyu çalıştırmalısın. Her sorgu, kendi başına bağımsız bir şekilde çalışır.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Eyvaallah kardeşim çok sağolas ın. Bana 15 sayısı değil sadece 38 rakamının sorgusu lazım. Belki yanlış telaffuz etmiş olabilirim. afedersiniz. Burda Csharp ta form tarafında form ekrana geldiğinde misal 25.haftayı seçtim onun sayıları gelecek textbox lara Ve burdan yola çıkaraktan demin verdiğim form örneğinde ekranda görülen sayıların hepsinin sql sorgularını da yapabilirmiyiz.
Resim
Ayrıca tablonun adı da "sayısal" dır
yani yukarda ilk kutular sayıların geldiği yer altında boş textbox lara o sayıların çıkan sonucu yani toplamı. Bunu yapma şansımız varmıdır acaba.
Haaa bu arada vakti zamanında bunu excel tarafında üyesi olduğum sayfayada sormuştum orda da excel tarafında "düşeyara" ve adı aklıma gelmedi yapılabiliyordu ama ben excel tarafında değil sql ile yapmak istiyorum.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Peki aynı anda r1 den r6 ya kadar olan sütunlarda sorgu yapamıyormuyuz acaba.sütun R7 de istediğin sayıyı sorgula. Valla Kayserilifatih kardeşim beni öyle mest ettinki anlatamam. Sana nasıl dua edeceğimi şaşırdım.Allah sen ve senin gibi yardım edenlerden razı olsun. Geçen arkadaşımızın birine "seni annen cuma günümü doğurdu" diye sormuştum yanlış anlaşılmasın beddua değil daha ziyade dua ediyorum. Ne mubarek insansınız ya. Hızır gibi yetiştiniz imdadıma aynı Tarkan hocam gibi :) Rabbimde sizin isteğinizi dileğinizi yerine getirsin inş.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

sadece 38 sayısını sorgulamak için SQL sorgusu şu şekilde olacak:

SELECT *
FROM tablo_adı
WHERE ID = 25
AND r7 LIKE '%38%';

Bu sorgu, ID'si 25 olan kaydın r7 sütununda 38 sayısını arar.


C# Form Uygulaması:

Aşağıda, haftayı seçtiğinde ve butona bastığında SQL sorgusunu çalıştıracak örnek bir C# kodu verilmiştir:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnSorgula_Click(object sender, EventArgs e)
{
int secilenHafta = Convert.ToInt32(comboBoxHafta.SelectedItem); // ComboBox'tan seçilen hafta
string connectionString = "your_connection_string"; // Veritabanı bağlantı dizesi
string query = $"SELECT * FROM tablo_adı WHERE ID = {secilenHafta} AND r7 LIKE '%38%'";

using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();

if (reader.Read())
{
// r7 sütunundaki sayıları textbox'lara yerleştirin
textBox1.Text = reader["r1"].ToString();
textBox2.Text = reader["r2"].ToString();
textBox3.Text = reader["r3"].ToString();
textBox4.Text = reader["r4"].ToString();
textBox5.Text = reader["r5"].ToString();
textBox6.Text = reader["r6"].ToString();
textBox7.Text = reader["r7"].ToString();
textBoxTpl.Text = reader["tpl"].ToString();
}
else
{
MessageBox.Show("38 sayısı bulunamadı.");
}
}
}
}

Açıklama:

comboBoxHafta: Haftayı seçmek için kullanılan ComboBox.
btnSorgula: Sorguyu çalıştırmak için kullanılan buton.
textBox1, textBox2, ...: Sayıları göstermek için kullanılan TextBox'lar.
connectionString: Veritabanınıza bağlanmak için gerekli olan bağlantı dizesi.
SqlCommand: SQL sorgusunu çalıştırmak için kullanılır.
SqlDataReader: Sorgu sonucunu okumak için kullanılır.

Bu C# kodu, gerçek bir uygulama senaryosunu temsil eden basit bir örnektir. Ancak, çalıştırmak için gerekli ayarlamaları yapman ve kendi veritabanı yapına uygun hale getirmen gerekecektir.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

mehoaga yazdı: 17 Kas 2024, 17:40 Peki aynı anda r1 den r6 ya kadar olan sütunlarda sorgu yapamıyormuyuz acaba.sütun R7 de istediğin sayıyı sorgula. Valla Kayserilifatih kardeşim beni öyle mest ettinki anlatamam. Sana nasıl dua edeceğimi şaşırdım.Allah sen ve senin gibi yardım edenlerden razı olsun. Geçen arkadaşımızın birine "seni annen cuma günümü doğurdu" diye sormuştum yanlış anlaşılmasın beddua değil daha ziyade dua ediyorum. Ne mubarek insansınız ya. Hızır gibi yetiştiniz imdadıma aynı Tarkan hocam gibi :) Rabbimde sizin isteğinizi dileğinizi yerine getirsin inş.
R7 de istediğin sayıyı sorgula yazmışsın onu anlayamadım. Sadece r1 den r6 ya mı olacak yoksa r7 de var mı
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

SQL Sorgusu

Eğer r1, r2, r3, r4, r5, r6 sütunlarında belirli bir sayıyı (örneğin 38) ve r7 sütununda da başka bir sayıyı (örneğin 15) sorgulamak istiyorsan sorgu şu şekilde olabilir:

SELECT *
FROM tablo_adı
WHERE ID = 25
AND (r1 = 38 OR r2 = 38 OR r3 = 38 OR r4 = 38 OR r5 = 38 OR r6 = 38)
AND r7 LIKE '%15%';

Açıklama:

SELECT *: Tüm sütunları seçiyoruz.
FROM tablo_adı: Verilerin bulunduğu tabloyu belirtiyoruz (bunu kendi tablonuzun adıyla değiştirin).
WHERE ID = 25: ID'si 25 olan kaydı alıyoruz.
AND (r1 = 38 OR r2 = 38 OR r3 = 38 OR r4 = 38 OR r5 = 38 OR r6 = 38): r1, r2, r3, r4, r5 veya r6 sütunlarından herhangi birinin 38 olduğu kayıtları filtreliyoruz.
AND r7 LIKE '%15%': r7 sütununda 15 sayısının geçtiği kayıtları filtreliyoruz.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Eyvaallah değerli yanıtın için çok ama çok TEŞEKKÜR ediyorum. Şimdilik bu kadar yetekoysun. Ben projeyi açtığımda bu verdiğin örnekleri denerim. Olumlu veya olumsuz diye burdan tekrar yazışırız. Allah işini gücünü rast getirsin. Görüşmek üzere Mehmet abinden saygılar hem sana hem diğer forumdaşlara.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

Sorun yaşarsan bile sorunu yazarsın mutlaka bir yol buluruz, her zaman buradayız. İhtiyacın olursa yine beklerim. Umarım işine yarar kardeşim. Kodları kutu içinde vermeyi beceremedim kusura bakma.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Kayserilifatih yazdı: 17 Kas 2024, 18:10 Sorun yaşarsan bile sorunu yazarsın mutlaka bir yol buluruz, her zaman buradayız. İhtiyacın olursa yine beklerim. Umarım işine yarar kardeşim. Kodları kutu içinde vermeyi beceremedim kusura bakma.
Eyvaallah her şey için sonsuz teşekkürler. O kadar yol gösterdin tiyo verdin daha olsunki. :arrow:
Kusur hata bende oldu aceleci davrandım soruyu tasavvur etmeden hemen balıklama daldım.Hata ve kusurumdan dolayı mazur göresiniz. Bu beyin kanaması hastalığı odak noktamıda alt üst ediyor ondan kaynaklı.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Forumdaşlar hayırlı geceler;
Diyelim ki tek tablodan değişik sayıları yani bu sayılar değişik sütunlarda örneğin 5 9 14 19 23 48 aynı anda sorgulanabilirmi veya bu sayıları kolay sorgulama adına ilave tablo yaparak sorgulamayı daha kolay hale getirebiliriz. Konu hakkında yardımlarınızı rica edeceğim. Kayserili Fatih kardeşim bu konuda yeterince yardımı oldu. Kendisine minnettarım. Yani tek tabloda ve istenilen sütunda aradığımız sayının SQL sorgulamasını yaptık. Bu katkılarından dolayı teşekkür lerimi sunuyorum.
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9521
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 933 kez
Teşekkür edildi: 7053 kez

Re: Sql den anlayanlar

Mesaj gönderen Kayserilifatih »

Tek Tablo Üzerinden Sorgulama;

Eğer tek bir tablon varsa ve bu tabloda farklı sütunlarda (örneğin r1, r2, r3, r4, r5, r6) belirli sayıları sorgulamak istiyorsan, SQL sorgunu şu şekilde yazabilirsin:

Örnek SQL Sorgusu;

SELECT *
FROM tablo_adı
WHERE ID = 25
AND (r1 IN (5, 9, 14, 19, 23, 48) OR
r2 IN (5, 9, 14, 19, 23, 48) OR
r3 IN (5, 9, 14, 19, 23, 48) OR
r4 IN (5, 9, 14, 19, 23, 48) OR
r5 IN (5, 9, 14, 19, 23, 48) OR
r6 IN (5, 9, 14, 19, 23, 48));

Açıklama:

IN ifadesi, belirtilen değerlerin herhangi birinin sütunlarda olup olmadığını kontrol eder. Bu sayede, her bir sütun için ayrı ayrı kontrol yapmana gerek kalmaz.

2. İlaveten Bir Tablo Oluşturma

Eğer sorgulamayı daha da kolaylaştırmak istiyorsan, belirli sayıları içeren ayrı bir tablo oluşturabilirsin. Bu yeni tablo, aradığın sayıları saklayabilir ve sorgulama işlemlerini daha basit hale getirebilir.

Örnek Tablo Yapısı;

CREATE TABLE Sayilar (
Sayı INT PRIMARY KEY
);


Sayıları Ekleme;

INSERT INTO Sayilar (Sayı) VALUES (5), (9), (14), (19), (23), (48);

Sorgulama;

Bu yeni tabloyu kullanarak, ana tablodaki verileri sorgulamak için JOIN veya EXISTS gibi ifadeleri kullanabilirsin.

Örnek SQL Sorgusu;

SELECT t.*
FROM tablo_adı t
JOIN Sayilar s ON (t.r1 = s.Sayı OR
t.r2 = s.Sayı OR
t.r3 = s.Sayı OR
t.r4 = s.Sayı OR
t.r5 = s.Sayı OR
t.r6 = s.Sayı)
WHERE t.ID = 25;

Açıklama:

Bu sorgu, Sayilar tablosundaki sayılardan herhangi birinin ana tablodaki r1, r2, r3, r4, r5 veya r6 sütunlarında bulunup bulunmadığını kontrol eder.
JOIN ifadesi, iki tabloyu birleştirir ve belirtilen koşullara göre sonuçları döndürür.

Her iki yaklaşım da geçerlidir. Tek tablodan sorgulama, basit ve hızlı bir yöntemdir. Ancak, ayrı bir tablo oluşturarak sorgulamayı daha düzenli ve esnek hale getirebilirsin. Hangi yöntemi seçeceğin, uygulamanın gereksinimlerine ve veri yapına bağlıdır.
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Eyvallah kardeşim teşekkürler.
İlk bakışta elimizde tek tablo var bunun üzerine her hafta yapılan çekiliş sonuçları yani çıkan sayıları kaydediyoruz. Buna ilaveten çıkan sayıları kolay olması açısından yani tablo1 e kayıtların hepsi tablo2 yede bu sayıları nasıl yazmalıyızki kafam karıştı sana sorarken sen anladıysan düzeltiver rica etsem. Yani kayıt yaparken her2 tablo aktif olacak. Ama sorgulama kısmı burda biraz karıştı galiba 🙃sütunları ayrı ayrı tablolara alırsak R1 sütunu için ayrı tablo r2 sütunu için ayrı tablo. Aklıma böyle birşey geldi. Bu şekilde olabilirmi yani.Access tarafında bu fazla tablolardan dolayı şişme yaparmı yani açılırken yavaş açılma gibi. Veya veritabanını fazla şişirmemek adına nasıl bir yol izlememiz lazım. Yani kayıt yeri tablo1 sorgulama yeri tablo2 olacak biraz toparladım galiba 😁
Kullanıcı avatarı
mehoaga
Kilobyte4
Kilobyte4
Mesajlar: 790
Kayıt: 16 Eyl 2020, 13:52
cinsiyet: Erkek
Teşekkür etti: 3297 kez
Teşekkür edildi: 780 kez

Re: Sql den anlayanlar

Mesaj gönderen mehoaga »

Tablo1 deki sütunları ayrı ayrı 2. Tablonun içine nasıl alabiliriz bu olmadı galiba afedersin kafa gitti yine 🙃ama bunu her sütun için ayrı tablo oluşturmak gerekiyor galiba.
Cevapla

“Programlama ve Script dilleri” sayfasına dön