Ich bin ziemlich neu in SQL und Codierung im Allgemeinen.
Ich habe eine SQL-Abfrage, die gut funktioniert. Alles was ich jetzt machen möchte, ist, die Anzahl der Zeilen aus diesem Abfrageergebnis zurückzugeben.
Die aktuelle SQL-Abfrage lautet:
SELECT
Progress.UserID, Questions.[Question Location],
Questions.[Correct Answer], Questions.[False Answer 1],
Questions.[False Answer 2], Questions.[False Answer 3]
FROM
Questions
INNER JOIN
Progress ON Questions.[QuestionID] = Progress.[QuestionID]
WHERE
(((Progress.UserID) = 1) AND
((Progress.Status) <> "Correct")
);
Ich weiß, dass ich verwenden muss
SELECT COUNT(*)
... obwohl nicht ganz sicher, wie ich es in die Abfrage integriere.
Ich beabsichtige dann, OLEDB zu verwenden, um das Ergebnis an eine VB Windows Form App zurückzugeben.
Jede Hilfe wird sehr geschätzt.
Vielen Dank! Joe
3 Antworten
Eine einfache Möglichkeit besteht darin, eine Unterabfrage zu verwenden:
select count(*)
from (<your query here>) as q;
In Ihrem Fall können Sie auch select
wie folgt ändern:
select count(*)
Dies würde jedoch bei Aggregationsabfragen nicht funktionieren.
Verwenden Sie eine einfache Unterabfrage, um alle Datensätze zu zählen. Unterabfragen müssen Aliassen haben (hier habe ich Ihre Unterabfrage 'Unterabfrage' benannt).
SELECT COUNT(*)
FROM (
SELECT Progress.UserID, Questions.[Question Location],Questions.[Correct Answer], Questions.[False Answer 1],
Questions.[False Answer 2], Questions.[False Answer 3]
FROM Questions
INNER JOIN Progress ON Questions.[QuestionID] = Progress.[QuestionID]
WHERE (((Progress.UserID)=1) AND ((Progress.Status)<>"Correct"))
) AS subquery;
Ein völlig anderer Ansatz als bei SQL-basierten Methoden besteht darin, die Zeilen zu zählen, sobald sie wieder in Ihrer Anwendung sind. Sie sagen, Sie verwenden VB, sodass Sie möglicherweise ein Dataset verwenden, um die Ergebnisse Ihrer Abfrage zu speichern. Wenn ja, dann brauchen Sie nur diesen Code:
dim rowcount as integer = mydataset.mytable.rows.count
Neue Fragen
sql
Structured Query Language (SQL) ist eine Sprache zum Abfragen von Datenbanken. Zu den Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) gehören. Wenn sich Ihre Frage ausschließlich auf ein bestimmtes DBMS bezieht (bestimmte Erweiterungen / Funktionen verwendet), verwenden Sie stattdessen das Tag dieses DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten ISO / IEC-Standard-SQL verwenden.