2016-09-20 3 views
-1

enter image description hereWie verbinde ich das Skript in anderen Abfragen?

enter image description here

ich das 1 Script zum anderen Abfrage oder Script verbinden mag, wie das zu tun? Ich kann nicht die richtige Abfrage

+1

Sie können Menschen helfen Ihnen helfen, indem Sie die Tabellen und Spalten in Text bereitstellt. Manchmal, wenn Menschen eine Frage wie diese sehen, werden sie sie einfach verlassen, weil sie wissen, dass sie Dinge manuell eingeben müssen. Wenn sie + Paste einfügen könnten, würden sie die Frage beantworten. – tomb

+0

Sorry, ich bin neu hier:/ –

+0

Keine Sorge, jeder ist irgendwann neu. Nächstes Mal gib einfach ein bisschen mehr Kontext. Sie haben die richtigen Informationen zur Verfügung gestellt, aber zusätzlich dazu die Querys und Tabellen und Spalten als Text bereitgestellt, um das Kopieren und Einfügen zu erleichtern. Auch tendiere ich nicht dazu, Großbuchstaben in Spaltennamen oder Tabellen zu verwenden, da es in meiner Perspektive zu viel Rauschen hinzufügt und es schwieriger zu lesen als einfacher macht. Definitiv Aliase verwenden, sie machen das Lesen und Schreiben von Abfragen viel einfacher – tomb

Antwort

0

Hier sind Ihre Original-Abfragen finden:

SELECT COUNT(HistoryOfVotersCollege.AuditorID) AS CountOfAuditorID, HistoryOfVotersCollege.AuditorID 
FROM HistoryOfVotersCollege 
GROUP BY HistoryOfVotersCollege.AuditorID 
ORDER BY COUNT(HistoryOfVotersCollege.AuditorID) DESC; -- Query 1 

SELECT AudQ1.AuditorID, AudQ1.CountOfAuditorID 
FROM PresResult 
WHERE AudQ1.CountOfAuditorID=(SELECT MAX(AudQ1.CountOfAuditorID) FROM AudQ1); -- Query 2 

Sie können die Verwendung von Tabellen-Aliases (in diesem Fall „h“) machen. Auf diese Weise können Sie deklarieren, dass die Spalte, auf die Sie sich beziehen, aus der Tabelle "h" stammt, anstatt "HistoryOfVotersCollege" zu verwenden.

SELECT h.AuditorID, COUNT(h.AuditorID) as count -- Query 1 
FROM HistoryOfVotersCollege h 
GROUP BY h.AuditorID 
ORDER BY count DESC; 

Für das nächste Bit, können Sie Unterabfragen zu erstellen „abgeleitete Tabellen“ verwenden, die im Grunde eine temporäre Tabelle ist. Es kann eine Abfrage verlangsamen, wenn Ihre Tabellen riesig sind oder Ihre Abfrage nicht optimiert ist, aber sie können auch sehr nützlich sein.

SELECT der.AuditorID, der.count FROM (
SELECT h.AuditorID, COUNT(h.AuditorID) as count -- Query 1 
FROM HistoryOfVotersCollege h 
GROUP BY h.AuditorID) der -- this is my derived table's alias, so i can call a column by using der.AuditorID for example 
join (
SELECT h.AuditorID, COUNT(h.AuditorID) as count 
FROM HistoryOfVotersCollege h 
GROUP BY h.AuditorID 
ORDER BY count desc 
LIMIT 1 -- this is the highest count for any auditor 
) der2 on der.count=der2.count; 

Dies führt wahrscheinlich langsam, aber es ist die Antwort auf Ihre Frage (in, dass es sich um ein Mitglied werden, und mit Hilfe des von einer Abfrage gesetzt Ergebnis zu einem anderen zu verbinden). Damit erhalten Sie alle HistoryOfVotersCollege.AuditorID s mit der Anzahl der IDs, die der Person mit der höchsten ID entsprechen.

Wenn Sie nur die Person mit der höchsten Zahl benötigt, können Sie nur verwenden:

SELECT h.AuditorID, COUNT(h.AuditorID) as count -- Query 1 
FROM HistoryOfVotersCollege h 
GROUP BY h.AuditorID 
ORDER BY count desc 
LIMIT 1; 
+0

Danke :) Es funktioniert haben einen schönen Tag :) –

+0

Können Sie bitte diese Antwort auch dann upvote? – tomb

+0

Ich bin neu hier ich kann nicht upvote ich brauche 15 rep:/Vielen Dank .. :) –

Verwandte Themen