SQL sıralama

Kodla Büyü

kargasa1982

Seçkin Üye
Seçkin Üye
Mesajlar
337
merhaba arkadaşlar,

SELECT * FROM sorular WHERE soruno IN (SELECT soruno FROM geneldeneme_sorular WHERE sinavno="123456" ORDER BY ID ASC)

şu şekilde bir sorgum var ve ben "geneldeneme_sorular" tablosundaki ID sırasına göre "sorular" tablosundan soruları o sırayla çekmek istiyorum. Fakat gelen sorular karışık geliyor, geneldeneme_sorular tablosundaki sıralamayı işlemiyor. Bunu nasıl çözebiliriz?
 
SQL dilindeki INNER JOIN konusunu araştırın. Hem daha performanslı hem de daha kullanışlı sorgular yazabileceksiniz.
SELECT sorular.*, geneldeneme_sorular.soruno FROM sorular INNER JOIN geneldeneme_sorular ON sorular.soruno = geneldeneme_sorular.soruno WHERE geneldeneme_sorular.sinavno = "123456" ORDER BY geneldeneme_sorular.ID ASC;
şeklinde bir sorgu işinizi görecektir. Tablolarınızdaki alan adlarını bilmediğimden her alan için tablo adını kullanmak zorunda kaldım, ama meseleyi anladığınızda daha kısa bir şekilde yazabilirsiniz. Yazdığım cümlede yazım hataları olabilir. Tavsiyem önce inner join konusunu araştırıp, ardından sorgumu inceleyip, varsa yanlışlık düzeltip, kullanmanızdır.
 
SELECT * FROM sorular WHERE soruno IN (SELECT soruno FROM geneldeneme_sorular WHERE sinavno="123456") ORDER BY ID ASC parantezi kaydırırsan içe doğu olmazmı
 
SELECT * FROM sorular WHERE soruno IN (SELECT soruno FROM geneldeneme_sorular WHERE sinavno="123456") ORDER BY ID ASC parantezi kaydırırsan içe doğu olmazmı
Olmaz. Bu sefer de sorular tablosundaki id alanına göre sıralar. Bunun yolu inner join den geçiyor.
 
Geri
Üst