SORU
14 Aralık 2009, PAZARTESİ


Sadece bir ifade alt sorgu VAR ile tanıtıldı zaman seçme listesinde belirtilebilir

Benim sorgu aşağıdaki gibidir, ve bunun içinde bir sorgu içeriyor

 select count(distinct dNum)
 from myDB.dbo.AQ
 where A_ID in 
  (SELECT DISTINCT TOP (0.1) PERCENT A_ID, 
            COUNT(DISTINCT dNum) AS ud 
 FROM         myDB.dbo.AQ
 WHERE     M > 1 and B = 0 
 GROUP BY A_ID ORDER BY ud DESC)

Alıyorum hata

Only one expression can be specified in the select list when the subquery is not
introduced with EXISTS.`

Alt sorgu tek başına çalıştırdığımda, ana Sorgu ile biraz sorun olduğunu tahmin ediyorum gayet iyi verir?

CEVAP
15 Aralık 2009, Salı


Senin sorgu sütun WHERE A_ID IN (subquery) madde - sütun A_ID karşılaştırmak mı gerekiyor? karşılaştırma yapmak için iki dönebilirsiniz. Sizin sorgu tek bir sütun karşılaştırma için gerekli IN diğer tarafında sütun dönmek gerekir. Yani sorguyu formun olması gerekir:

SELECT * From ThisTable WHERE ThisColumn IN (SELECT ThatColumn FROM ThatTable)

Ayrıca eklemek için sıralama çok seçebilirsiniz sadece üst satır, ama hiç gerek yok geri SAYIM gibi bir sütun için kendi sıralama; sıralama ORDER yan bağımsız sütunları döndürülen sorgu.

Böyle bir şey deneyin

select count(distinct dNum) 
from myDB.dbo.AQ 
where A_ID in
    (SELECT DISTINCT TOP (0.1) PERCENT A_ID
    FROM myDB.dbo.AQ 
    WHERE M > 1 and B = 0
    GROUP BY A_ID 
    ORDER BY COUNT(DISTINCT dNum) DESC)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010