Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   SQL ερώτημα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1831-sql-erotima.html)

jimrenoir 28-04-12 11:23

SQL ερώτημα
 
Καλημέρα στο φορουμ. Έχω βάλει τον sql server expres 2012 . Το πρόβλημα που αντιμετωπίζω είναι το εξής. Σε αυτό το query μου χχτυπάει ο κώδικας μπορεί κάποιος να βοηθήσει?
κώδικας
(SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home and iif( home=P.home,hmna<=.p.hmna,hmna<P.hmna)) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
και μήνυμα (Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '<'.)

Meteora 28-04-12 17:49

Καλησπέρα

Δεν γνωρίζω ποιά είναι η απάντηση στο ερώτημά σου. Όμως σε αυτές τις περιπτώσεις εργάζομαι αποδομώντας την πολυπλοκότητα της SQL δομής και στην συνέχεια βήμα-βήμα την φέρνω μέχρι την επιθυμητή μορφή.
πχ
SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
μετά...
SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home and hmna<P.hmna) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
κοκ

Καλή συνέχεια
Νίκος Δ.

Υστερολόγιο : Μέτρησε τις παρενθέσεις,...

Tasos 28-04-12 18:05

Καλησπέρα!
Δημήτρη, η συνάρτηση iif(home=P.home,hmna<=.p.hmna,hmna<P.hmna) επιστρέφει True ή False.
Επομένως, ακόμα και αν μπορούσε να εκτελεστεί το ερώτημα σου, δεν θα είχες σωστά αποτελέσματα.

Πιο απλά, μην περιμένεις να σου επιστρέψει σωστά αποτελέσματα η Select count(*) From dbo.Result$ as P Where home=P.home AND True ή False
αφού το True ή False δεν αντιστοιχείται πουθενά .

Μετά τον τελεστή AND θα πρέπει να βάλεις τη συνθήκη και όχι το αποτέλεσμα της συνάρτησης IIF()

Παράδειγμα:

Κώδικας:

SELECT Result.hmna, Result.home, (Select count(*) From Result as P
Where
([result].[home]=[P].[home] And [Result].[hmna]<=[p].[hmna])
OR
([result].[home]<>[P].[home] And [Result].[hmna]<[p].[hmna])) AS Katataxi

FROM Result

ORDER BY Result.hmna DESC , Result.home;

Καλή συνέχεια

Τάσος


Η ώρα είναι 17:53.

Ms-Office.gr - ©2000 - 2025, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2