v2.5.2
Giriş yap

sorgu içinde iki kez aynı tablodan veri çekmek

hasaneryilmaz
998 defa görüntülendi ve 1 kişi tarafından değerlendirildi

tablo1

sira - ekleyen_person_id - musteri_id - kitap

tablo 2 (müşterilerin ve personellerin birlikte tutulduğu tablo)

sira - adi - soyadi - tel - mail

------- Soru ----

ben ilk tablodaki ekleyen_person_id nin ve musteri_id'sinin bilgilerini tablo 2 den nasıl çekecebilirim.

Cevap yaz
Cevaplar (6)
tayfunerbilen
1297 gün önce

Eğer tablo2'ye 2 kere sorgu atacaksan o zaman farklı şekillerde isimlendirip kullanman gerek. Çalışan bir örneğini paylaşıyorum.

SELECT tablo1.*, u1.adi as ekleyen_ad, u1.soyadi as ekleyen_soyad, u2.adi as musteri_ad, u2.soyadi as musteri_soyad FROM tablo1
INNER JOIN tablo2 u1 ON u1.id = tablo1.ekleyen_person_id
INNER JOIN tablo2 u2 ON u2.id = tablo1.musteri_id

ama şunu söyleyeyim, veritabanı yapın doğru değil ayrılmalıydın :)

kaplanomer
1296 gün önce

Tekli veya sadece belirli şartı sağlayabilen için where inde kullanabilirsin aslında

SELECT FROM tablo_1 WHERE sutun_1 IN (SELECT FROM tablo_2 WHERE sutun_1=?,sutun_2=?,...)

gibi gibi..

hasaneryilmaz
1297 gün önce

teşekkürler cevaplarınız için

*Sağolasın Tayfun yeni bir şey öğrendim sorgu içerisinde tabloya kendimiz isim verebiliyormuşuz :)

*aynı tabloda yapmamın sebebi tüm kişi bilgilerini bir yerde toplayım diye düşünmemdi.

hasaneryilmaz
1297 gün önce
SELECT tablo1.*, tablo2.* FROM tablo1 INNER JOIN tablo2 ON tablo1.ekleyen_person_id = tablo2.sira

bu şekilde sorguyu çalıştırınca sadece personelin adı soyadı geliyor benim istediğim personelin ve müşterinin bilgilerine erişmek tek sorguda

tablo yapı ve içeriği
tablo1

sira(primery int) - ekleyen_person_id(int) - musteri_id(int) - kitap(text)

1 - 1 - 2 - html
2 - 1 - 3 - css
3 - 1 - 4 - php

tablo 2 (müşterilerin ve personellerin birlikte tutulduğu tablo)

sira(primery int) - adi(text) - soyadi(text) - tel(text) - mail(text)

1 - hasan - eryilmaz - 115545 - [email protected]
2 - mehmet - mehmet - 42342 - [email protected]
3 - ahmet - ahmet - 56345 - [email protected]

makifgokce
1297 gün önce
SELECT tablo1.*, tablo2.* FROM tablo1 INNER JOIN tablo2 ON tablo1.ekleyen_person_id = tablo2.sira

istediğin böyle bişey sanırım.

qplot
1297 gün önce

INNER JOIN ILE tabloları bırlestırmen lazım tablo yapısını yazarsan kod yazalım