Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bestimmte Spalten in 'SELECT *' ausschließen ?

4,157 views
Skip to first unread message

Jan Weingärtner

unread,
Dec 2, 2001, 11:26:56 AM12/2/01
to
Hallo.

Gibt es eigentlich irgend eine Syntax, um aus einem 'SELECT * ...' bestimmte
Spalten auszuschließen?

Also: "gib mir alle Spalten ausser spalte1, spalte2, ...".

Eigentlich will ich einen Datensatz aus einer Tabelle in eine andere
kopieren und die
Feldnamen stimmen nicht komplett überein (und ich bin nun zu faul, alle
Feldnamen einzeln hinzuschreiben).
Interessant währe in dem Zusammenhang auch eine Möglichkeit, alle die Felder
eines Datensatzes von Tabelle1 in einen Datensatz der Tabelle2 zu kopieren,
für die ein übereinstimmender Spaltenname in Tabelle2 existiert. Also etwa
so:

INSERT INTO Tabelle2
SELECT <FeldNamenSchnittmenge>
FROM Tabelle1


Gruß und danke,
Jan


Philipp Stiefel

unread,
Dec 2, 2001, 12:43:58 PM12/2/01
to

"Jan Weingärtner" <ma...@dschensky.de> writes:

> Gibt es eigentlich irgend eine Syntax, um aus einem 'SELECT * ...' bestimmte
> Spalten auszuschließen?

Nein.

> Eigentlich will ich einen Datensatz aus einer Tabelle in eine andere
> kopieren und die
> Feldnamen stimmen nicht komplett überein (und ich bin nun zu faul, alle
> Feldnamen einzeln hinzuschreiben).

Faulheit und saubere Programmierung sind leider ein grundsätzlicher
Widerspruch. ;-)

Schreib dir doch einfach eine Procedure, die dir das gewünschte
SQL-Statement als Output liefert, dass du dann nur noch per Cut'n'Paste
übernehmen musst.

> Interessant währe in dem Zusammenhang auch eine Möglichkeit, alle die Felder
> eines Datensatzes von Tabelle1 in einen Datensatz der Tabelle2 zu kopieren,
> für die ein übereinstimmender Spaltenname in Tabelle2 existiert. Also etwa
> so:
>
> INSERT INTO Tabelle2
> SELECT <FeldNamenSchnittmenge>
> FROM Tabelle1

Auch das wäre mit einer Stored Proc ohne weiteres möglich.

Gruß
Phil

Elmar Boye

unread,
Dec 2, 2001, 4:21:47 PM12/2/01
to
Hallo Phil,

"Philipp Stiefel" <ph...@codekabinett.de> schrieb ...


> Schreib dir doch einfach eine Procedure, die dir das gewünschte
> SQL-Statement als Output liefert, dass du dann nur noch per Cut'n'Paste
> übernehmen musst.

zu erwähnen wäre beim SQL Server 2000 Query Analyzer:
Objekt Katalog <F8> -> Kontextmenü ->
Skript in neuem Fenster erstellen mit "SELECT"

nicht benötigte Spalten rauswerfen, fertig...

Gruss
Elmar

Jan Weingärtner

unread,
Dec 2, 2001, 6:30:28 PM12/2/01
to

"Philipp Stiefel" <ph...@codekabinett.de> schrieb im Newsbeitrag
news:un111h...@knight.pstiefel.de...

>
> "Jan Weingärtner" <ma...@dschensky.de> writes:
>
> > Gibt es eigentlich irgend eine Syntax, um aus einem 'SELECT * ...'
bestimmte
> > Spalten auszuschließen?
>
> Nein.
>
> > Eigentlich will ich einen Datensatz aus einer Tabelle in eine andere
> > kopieren und die
> > Feldnamen stimmen nicht komplett überein (und ich bin nun zu faul, alle
> > Feldnamen einzeln hinzuschreiben).
>
> Faulheit und saubere Programmierung sind leider ein grundsätzlicher
> Widerspruch. ;-)

... es sei denn, die angestrebte Reduktion des Aufwandes führt letztlich zu
einer effizienteren Problem-Lösung.
Aber prinzipiell hast Du natürlich recht.

Gruß, Jan


Peter Hundhausen

unread,
Dec 4, 2001, 9:49:00 AM12/4/01
to

Peter Hundhausen, BSM®
Gilleshütte 99, 41352 Korschenbroich
TEL: 02161 / 61 78 2 - 0
FAX: 02161 / 61 78 2 - 29

WEB: WWW.B-S-M.DE
MAIL: PHund...@KOR.B-S-M.DE


>>> Jan Weingärtner<ma...@dschensky.de> 03.12.01 00:30 >>>

Gruß, Jan


Hallo Jan,

doch, es gibt einen Trick, mit dem du zumindest etliches an Tip-Arbeit sparen kannst, 2 Wege verwende ich dafür:

V1: Verwende eine View statt der Original-Tabelle und lasse die überflüssigen Felder in der View weg.

V2: Bei recht umfangreichen Tabellen (viele Felder) erstelle ich im ViewDesigner die Abfrage, das geht sehr komfortabel per Mausklick. Anschließend kopiere ich den generierten SQL-Code per Cut / Paste in den QueryAnalyser und hab häufig sehr sehr viel Zeit gespart.

Gruß Peter

Uwe Ricken

unread,
Dec 5, 2001, 1:42:15 AM12/5/01
to
Hallo Peter,

nix für ungut aber bitte lies doch mal, wie man
richtig quotet. Mir persönlich geht es so, dass
ich nicht unbedingt wissen möchte, wer geschrieben
hat (steht ja sowieso in der VON-Zeile) sondern
was geschrieben wurde.

http://got.to/qoute

gibt Dir diesbezüglich ein paar Tipps.

HTH :-)

--
Gruß, Uwe Ricken
MCP FOR MS ACCESS DEVELOPMENT
GNS GmbH, Frankfurt am Main
http://www.gns-online.de
____________________________________________________
APP: http://www.AccessProfiPool.com
FAQ: http://www.donkarl.com/AccessFAQ.htm

rjaege...@gmail.com

unread,
Mar 14, 2016, 8:24:07 AM3/14/16
to
Wenn es sich nur um 1 oder 2 Felder handelt und du ALTER-Rechte auf der DB hast, dann mach einen

SELECT * INTO #tempTable FROM DeineTabelle

und setze für jede unnötige Spalte ein

ALTER TABLE #tempTable DROP DeinColumnName

dahinter. Fertig.

0 new messages