Alt sorgunun birden fazla satır döndürdüğü bir hata verir. Sebebi nedir?alt sorgu 1 satırdan daha fazla döndürür
8
A
cevap
2
aşağı Sorgunuzla Breaking, sahip
Ana sorgusu:
select disease_name from disease where disease_id=
Alt sorgu 1:
select disease_id from disease_symptom where
disease.disease_id=disease_symptom.disease_id AND
symptom_id=
Alt sorgu 2:
select symptom_id from symptom where symptom.symptom_id=disease_symptom.symptom_id
AND symptom_name='fever' OR symptom_name='head ache'
kullandığınız yana eşit işaretler, alt sorgular cann Birden çok öğe döndürür. Alt sorgu 2'nin kullanılmakta olduğu OR
nedeniyle 2 öğe döndürme şansı daha yüksek gibi görünüyor.
14
WHERE symptom_id IN (sub-query2)
gibi IN
yan tümcesini denemek isteyebilirsiniz. İki dış sorgunuz alt sorgularından tek bir sonuç beklemek üzere yapılandırılmıştır. Ancak, yapılandırdığınız şeylerin olduğu gibi, alt sorgularınız da birden fazla sonuç verebilir. Aslında birden fazla sonuç istiyorsanız, bunu böyle yeniden:
... where disease_id IN (subquery returning multiple rows...)
, alt sorgular performansını öldürmek olduğunu ve katlanarak iç içe alt sorgular için wosrse oluyor. Bunun yerine INNER JOIN
'u kullanarak bakmak isteyebilirsiniz.
İlgili konular
- 1. "Subquery 1 satırdan daha fazla döndürür" hatası
- 2. Mysql :: Hata: Alt sorgu 1'den fazla satır döndürür:
- 3. Google Fusion Tablosu Sorgu Lat/Long İade 1 Satırdan fazla
- 4. mysql_affected_rows() -1 döndürür
- 5. Alt sorgu 1'den fazla değer döndürdü. Bu alt sorgunun izlediği zaman izin verilmiyor =,! =, <,<=,>,> = veya alt sorgu
- 6. Alt sorgu sorguları
- 7. Alt sorgu
- 8. Daha fazla oku android'de daha fazla buton
- 9. Postgresql Sorgu - Alt sorgu sonucuyla sıralama
- 10. Sorgu ben (postgresql değil) bu sorgu var sınırı 1
- 11. Neo4j Birden çok ilişki üzerinde çalışmak için daha fazla sorgu
- 12. Basit SQL Sorgu 1
- 13. 1 Spec.js dosyasında 2 veya daha fazla JavaScript dosyasını sınama?
- 14. Zend_Db alt sorgu
- 15. SQL: Alt ağa göre alt sorgu filtresi
- 16. 2 satırdan daha fazla eşleşecek şekilde yeniden hizala Yeni satır değil
- 17. Apple push bildirimi bir app daha fazla alt etki alanı
- 18. WPA "Daha fazla ayrıntı göstermek için Alt + Boşluk düğmesine basın"
- 19. Daha fazla aktivite hücresi CollectionViewCell
- 20. SQLAlchemy alt sorgu toplamlar
- 21. korelasyon alt sorgu
- 22. QueryDSL alt sorgu çalışmıyor
- 23. mySQL alt sorgu sınırı
- 24. Firestore sorgu alt koleksiyonları
- 25. laravel alt sorgu
- 26. Nginx ayrılmamış alt sorgu
- 27. MySQL basit sorgu sıfır satırları döndürür
- 28. Sol Alt sorgu boş sonucu
- 29. Düğümde birden fazla sorgu JS
- 30. (Nintex) Sorgu Kullanıcı Profili değerlerini döndürür
Sanırım bariz olanı söyleyeceğim: alt sorgu birden fazla satır döndürür. "hastalık_kimliği" birden fazla değere eşit olamaz. Bu sorgu, alt sorgu yerine "JOIN" ile daha iyi yazılabilir. –
http://stackoverflow.com/a/3423792/2806972 c Bu, bu Q için çözüm olabilir: –