Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Spezielle Abfrage über zwei Tabellen

Frage Entwicklung Datenbanken

Mitglied: michael-s

michael-s (Level 1) - Jetzt verbinden

22.12.2008, aktualisiert 17:06 Uhr, 4141 Aufrufe, 6 Kommentare

An alle Datenbankprofis,

ich habe folgende Tabellen

Artikel mit den Spalten No,Name,Kategorie1,Kategorie2,Kategorie3
Kategorieren mit den Spalten No,Kat1,Kat2,Kat3,Bezeichnung

ich möchte ein Abfrage über beide Tabellen machen und die Kategorie1 bis Kategorie3 mit der jeweiligen Bezeichnung aus der Kategorieren-Tabelle anzeigen.

Hat jemand dafür eine Idee. Ist Ms SQL Server 2005.
Achja die Tabellen lassen sich leider nicht abändern.

Gruß
Michael-s
Mitglied: pitti08
22.12.2008 um 17:43 Uhr
Welches sind die Schlüsselfelder für die Verknüpfung?
Ok, ersetzen wir mal Unwissenheit durch Annahme. Das ist immer der erste Schritt in Richtung Fehler.
Wir nehmen an: Artikel.Kategorie1..3 sind mit Kategorieren.No verknüpft.
Dann bräuchten wir hier nur noch 3 joins und fertig.
Syntax bitte im Handbuch unter select...join nachschlagen.
Gruß Pitti
Bitte warten ..
Mitglied: michael-s
22.12.2008 um 19:09 Uhr
leider nicht Kategorie 1..3 sind mit Kat 1..3 verknüpft, sonst wäre es über joins lösbar... hab ich auch schon probiert.

Die Schlüsselfelder, sind die No und kat 1 bis 3.

Hat noch jemand eine Idee?
Bitte warten ..
Mitglied: Biber
22.12.2008 um 19:39 Uhr
Moin michael-s,

leider nicht Kategorie 1..3 sind mit Kat 1..3 verknüpft, sonst wäre es über joins lösbar... [...}
Die Schlüsselfelder, sind die No und kat 1 bis 3.

Kannst Du das bitte mal für ältere/phantasieärmere Mitglieder wie mich mal an einem Datensatzbeispiel beschreiben?

Grüße und danke
Biber
Bitte warten ..
Mitglied: pitti08
22.12.2008 um 19:43 Uhr
nochmal zum Verständnis:

select * from artikel
left join kategorie on artikel.Kategorie1=kategorie.Kat1, artikel.Kategrorie2=kategorie.Kat2, artikel.Kategorie3=kategorie.Kat3

funktioniert dann deshalb nicht, weil artikel.kategorie1 in kategorie.kat3 oder in kategorie.kat2 oder kategorie.kat1 stehen kann?
Bitte warten ..
Mitglied: michael-s
22.12.2008 um 21:27 Uhr
Zum Beispiel:

in der Artikeltabelle sind folgende infos:
        No:         123                       
        Name:       test                     
        Kategorie1: 10.00.00                  
        Kategorie2: 10.10.00                  
        Kategorie3: 10.10.10 
 
Kategorientabelle: 
        no       kat1       kat2      kat3      bezeichnung 
        1        10.00.00                       Testname1 
        2        10.00.00   10.10.00            Testname2 
        3        10.00.00   10.10.00  10.10.10  Testname3
Ich möchte eine Antwort vom SQL die so aussieht:

test, Testname1, Testname2, Testname3

Vielleicht hilft es bei der Lösungsfindung?

Gruß


[Edit Biber: Als < code > formatiert /]
Bitte warten ..
Mitglied: Biber
22.12.2008 um 21:58 Uhr
Ähm ja...

ich gehe davon aus, dass ein Hauptziel des Tabellendesigns die Sicherstellung der Nichtinterpretierbarkeit bei Industriespionage gewesen ist.
Ziel erreicht.

01.
SELECT Artikel.Name,  
02.
ka11.Bezeichnung as Kat1Bez,  
03.
kat12.Bezeichnung as Kat2Bez, 
04.
kat123.Bezeichnung as Kat3Bez 
05.
FROM Artikel,  
06.
kategorie as Kat1, 
07.
kategorie as Kat12, 
08.
kategorie as Kat123, 
09.
Where  
10.
    Artikel.kategorie1 = kat1.kat1  
11.
and artikel.kategorie2 <> kat1.kat2  
12.
and artikel.kategorie3 <>kat1.kat3 
13.
AND     Artikel.kategorie1 = kat12.kat1  
14.
and artikel.kategorie2 = kat12.kat2  
15.
and artikel.kategorie3 <>kat12.kat3 
16.
AND     Artikel.kategorie1 = kat123.kat1  
17.
and artikel.kategorie2 = kat123.kat2  
18.
and artikel.kategorie3 = kat123.kat3
Falls mal eine der Kategorie-Bezeichnungen nicht referenziert werden kann, fehlt der ganze Satz ( ein LEFT JOIN ist ja hier kaum möglich).

P.S. Ich weiß nicht, wer das designed hat oder gegen wen, aber - bei dieser Tabellenstruktur kamen zwei Erinnerungen aus meiner Jugend wieder hoch:
  • Ja, auch wir hatten früher einen "Legalize it!"-Aufkleber auf der WG-Tür
  • Gerüchten zufolge werden auch heute noch, vor allem im ländlichen Raum, Leute aus weit geringeren Anlässen gepfählt oder gevierteilt.

Auch da bin ich eigentlich tolerant.

Grüße und viel Glück
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst SQL - Zwei Tabellen zusammenführen (6)

Frage von Memo66 zum Thema Datenbanken ...

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

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Datenbanken
gelöst Join über drei Tabellen (5)

Frage von Kimaro zum Thema Datenbanken ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...