Dies ist mein erstes Mal in "stackoverflow". Ich fange gerade mein abschließendes Projektprogramm an und habe ein Problem mit der SQL-Abfrage. (Sorry für mein schlechtes Englisch auch)Wie sql Union mit verbundenen Abfrage verwenden
Ich habe drei Tabellen namens zstatistics, zsuggestions und ZEntrycriteria. Ich habe eine SQL-Abfrage, die "UNION" sowohl zstatistics, zsuggestions und dann ordnen Sie die Ergebnisse, um mit dem nächsten Ergebnis übereinstimmen.
select M.*
from zstatistics M JOIN ZEntrycriteria C ON M.coursecode=C.Course_code
where C.Maths <= @maths
AND C.Science <= @science
AND C.English <= @english
And C.Ict <= @ict
And C.History <= @history
And C.Geography <= @geography
And C.Art <= @Art
UNION
select M.*
from zsuggestions M JOIN ZEntrycriteria C ON M.coursecode=C.Course_code
where C.Maths <= @maths
AND C.Science <= @science
AND C.English <= @english
And C.Ict <= @ict And C.History <= @history
And C.Geography <= @geography
And C.Art <= @Art
ORDER BY
sqrt(power(M.Maths - @maths, 2) + power(M.Science - @science,2) + power(M.English - @english,2) + power(M.Ict - @ict,2) + power([email protected],2) + power(M.Geography - @geography,2) + power(M.Art - @Art,2))
Ich habe auch versucht
folgendeselect * from
(
select M.*
from zstatistics M JOIN ZEntrycriteria C ON M.coursecode=C.Course_code
where C.Maths <= @maths
AND C.Science <= @science
AND C.English <= @english
And C.Ict <= @ict
And C.History <= @history
And C.Geography <= @geography
And C.Art <= @Art
UNION
select M.*
from zsuggestions M JOIN ZEntrycriteria C ON M.coursecode=C.Course_code
where C.Maths <= @maths
AND C.Science <= @science
AND C.English <= @english
And C.Ict <= @ict And C.History <= @history
And C.Geography <= @geography
And C.Art <= @Art
)
ORDER BY
sqrt(power(M.Maths - @maths, 2) + power(M.Science - @science,2) + power(M.English - @english,2) + power(M.Ict - @ict,2) + power([email protected],2) + power(M.Geography - @geography,2) + power(M.Art - @Art,2))
aber ich bin ein Syntaxfehler immer sagen: „Ausnahmedetails: System.Data.SqlClient.SqlException: ORDER BY-Elemente in der Auswahlliste, wenn die Anweisung erscheinen müssen enthält einen UNION-, INTERSECT- oder EXCEPT-Operator. "
Danke (bearbeitet)
raten Ihnen nachdrücklich, die Abfrage erhalten zu arbeiten, bevor es in einer Anwendung einbetten. Gehen Sie zurück zu Management Studio und führen Sie die Abfrage aus. Es wird Ihnen bessere Fehlermeldungen geben. – dsz