2010-11-28 8 views
0

Ich habe eine Abfrage, die ich von bestimmten Parametern von einem Excel-Blatt abhängen möchte, aber ich bekomme den Fehler 'Parameter sind nicht in Abfragen erlaubt, die nicht grafisch angezeigt werden können' . Der einzige Weg, um es zu umgehen, den ich sehe, ist eine Ansicht zu verwenden, aber wie viel zusätzlichen Overhead würde das geben? Es würde bedeuten, zwei Tabellen (eine mit fast 70000 und eine mit mehr als 200000 Datensätzen und mit jeweils etwa 40 Feldern) in diese Ansicht zu integrieren, wahrscheinlich mit nur etwa 5 der insgesamt 80 Felder. Wir haben keinen Testserver. Gibt es alternativ eine Möglichkeit, die folgende Abfrage in eine Abfrage zu ändern, für die Microsoft Query Parameter zulässt?Abrufen von Daten aus einer komplexen Abfrage nach Excel

select count(distinct a) from table1 where b=0 and c < '2010-01-01' and a in 
(select a from table2 where d between '2010-01-01' and '2010-12-31') 

oder als Join:

select count(distinct table1.a) from table1 inner join table2 on (table1.a=table2.a 
and table2.d between '2010-01-01' and '2010-12-31') where table1.c < '2010-01-01' 
and table1.b=0 

ich die Daten ersetzen möchten (c und d) mit cellvalues.

Danke,

Ernst

Antwort

0

Haben Sie die Daten aus Excel in SQL-Server-Tabellen migrieren erwägen und dann die Abfrage ausführen ?. Die meisten DBMS haben Werkzeuge für die Datenmigration.

+0

Ich hatte nicht darüber nachgedacht, ich denke nicht, dass es eine Option ist. Andere Leute müssen Dinge hinzufügen. Obwohl es sql kann den Import automatisch von einer Excel-Tabelle jede Stunde oder beim Speichern tun, könnte es eine Option sein. Ich denke, ich werde die Ansichtsoption erst nach den normalen Arbeitszeiten ausprobieren. – Ernst

+0

@Ernst: Sie sollten ein Makro erstellen, um Daten automatisch von Excel nach SQL Server zu exportieren, damit Sie komplexe Abfragen ausführen können. SQL Excel ist begrenzt. – ArBR