Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL-Server abfrage mit 2 Tabellen mit gleichem Spaltennamen

Frage Entwicklung Datenbanken

Mitglied: DerLomi

DerLomi (Level 1) - Jetzt verbinden

03.09.2009, aktualisiert 08:52 Uhr, 4965 Aufrufe, 2 Kommentare

Moin Leute,

hab nen kleinen Problem. Habe hier eine Datenbank (SQL Server 2005) am laufen und soll jetzt eine Abfrage aus 2 Tabellen erstellen, die Daten aus beiden Tabellen enthält.

Die Tabellen haben den gleichen Aufbau und auf die selben Spaltennamen. Wenn ich jetzt mit einem Komma die 2 Tabelle in die "From" abfrage einbaue kriege ich aber den Fehler das die Spaltennamen doppelt vorhanden sind.

Dies ist die Ausgangsabfrage:

SELECT [tn_id]
,[tm_ktxt]
,[tp_name] + ' ' + [tp_vorname] Mitarbeiter
,[tn_von]
,[tn_bis]
,[tn_ag]
,[tn_artikel]
,[tn_kd]
,[tn_sd]
,[tn_anr]
,[tn_spanung]
,[tn_stksoll]
,[tn_stkist]
,[tn_laufzeit]
,[tn_bemerkung]
FROM [jasper].[dbo].[ttknachweis] join [jasper].[dbo].[ttkpersonal] on [tn_pnr] = [tp_pnr]
left outer join [jasper].[dbo].[ttkmaschinen] on [tn_mnr] = [tm_mnr]
WHERE
isnull([tn_artikel], '') LIKE $P{artikelNr}
AND $X{IN, ttknachweis.tn_pnr, personalNr_m}
AND isnull([tn_anr], '') LIKE $P{auftragsNr}
AND [tn_von] >= $P{datumVon}
AND [tn_bis] <= $P{datumBis}
AND $X{IN, ttknachweis.tn_mnr, inclMaschinen}
AND $X{NOTIN, ttknachweis.tn_mnr, exclMaschinen}
AND $X{IN, ttknachweis.tn_ag, inclAG}
ORDER BY
DATEPART ( yyyy , [tn_von] ) ASC, DATEPART ( mm , [tn_von] ) ASC, DATEPART ( dd , [tn_von] ) ASC,
Mitarbeiter ASC,
[tn_von] ASC

Und so würde ich es machen:

SELECT [tn_id]
,[tm_ktxt]
,[tp_name] + ' ' + [tp_vorname] Mitarbeiter
,[tn_von]
,[tn_bis]
,[tn_ag]
,[tn_artikel]
,[tn_kd]
,[tn_sd]
,[tn_anr]
,[tn_spanung]
,[tn_stksoll]
,[tn_stkist]
,[tn_laufzeit]
,[tn_bemerkung]
FROM [jasper].[dbo].[ttknachweis], [jasper].[dbo].[ttknachweis_z] join [jasper].[dbo].[ttkpersonal] on [tn_pnr] = [tp_pnr]
left outer join [jasper].[dbo].[ttkmaschinen] on [tn_mnr] = [tm_mnr]
WHERE
isnull([tn_artikel], '') LIKE $P{artikelNr}
AND $X{IN, ttknachweis.tn_pnr, personalNr_m}
AND isnull([tn_anr], '') LIKE $P{auftragsNr}
AND [tn_von] >= $P{datumVon}
AND [tn_bis] <= $P{datumBis}
AND $X{IN, ttknachweis.tn_mnr, inclMaschinen}
AND $X{NOTIN, ttknachweis.tn_mnr, exclMaschinen}
AND $X{IN, ttknachweis.tn_ag, inclAG}
ORDER BY
DATEPART ( yyyy , [tn_von] ) ASC, DATEPART ( mm , [tn_von] ) ASC, DATEPART ( dd , [tn_von] ) ASC,
Mitarbeiter ASC,
[tn_von] ASC

Aber irgendwie klappt das nicht.

Könnt ihr mir helfen?

Danke und MFG Tobi
Mitglied: it-frosch
03.09.2009 um 09:39 Uhr
Hallo Tobi,

du solltest mit Aliasen bei den Tabellen arbeiten. Woher soll das Datenbanksystem denn sonst wissen aus welcher Tabelle du das Feld haben willst?

Beispiel:
Tab Personal mit feldern name,vorname,personalnr
Tab Urlaub mit feldern utage,personalnr (enthält die einzelnen genommenen Urlaubstage)

--- > ist nur ein dummes Beispiel

Jetzt willst du dir alle Mitarbeiter mit der Summe der genommen Urlaubtage ausgeben lassen.

select p.vorname,p.name,sum(u.utage) from personal p
left outer join urlaub u
on p.personalnr=u.personalnr
group by p.vorname,p.name


z.B. statt:
FROM [jasper].[dbo].[ttknachweis], [jasper].[dbo].[ttknachweis_z] join [jasper].[dbo].[ttkpersonal] on [tn_pnr] = [tp_pnr]
left outer join [jasper].[dbo].[ttkmaschinen] on [tn_mnr] = [tm_mnr]

so

FROM [jasper].[dbo].[ttknachweis] alias1, [jasper].[dbo].[ttknachweis_z] alias2 join [jasper].[dbo].[ttkpersonal] alias3 on alias2.[tn_pnr] = alias3.[tp_pnr]
left outer join [jasper].[dbo].[ttkmaschinen] alias4 on alias2.[tn_mnr] = alias4.[tm_mnr]
Bitte warten ..
Mitglied: DerLomi
04.09.2009 um 07:50 Uhr
Wunderbar =)
Vielen Dank.
An Aliases hab ich noch garnich dran gedacht xD
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Datenbanken
gelöst SQL ORDER BY und Join mit 2 Tabellen (7)

Frage von Dipps zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...