WinFuture-Forum.de: SQL - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

SQL Wie muss diese Abfrage lauten?


#1 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

  geschrieben 05. Dezember 2010 - 18:02

Hallo zusammen,
im Moment muss ich mich mit SQL beschäftigen, und ich komme einfach nicht drauf wie die Abfrage lauten muss.
Ich möchte eine Abfrage über zwei Tabellen machen.
Mein Problem habe ich in der Word-Datei im Anhang beschreiben, da ich dort besser Screenshots einfügen konnte.

Vielen Dankt schon einmal im voraus.
Viele Grüße
smite

Angehängte Datei(en)


Eingefügtes BildEingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   evil.baschdi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.639
  • Beigetreten: 11. Februar 07
  • Reputation: 56
  • Geschlecht:unbekannt

geschrieben 05. Dezember 2010 - 18:22

google mal nach "joins"
0

#3 Mitglied ist offline   Illidan 

  • Gruppe: aktive Mitglieder
  • Beiträge: 921
  • Beigetreten: 26. Mai 06
  • Reputation: 8
  • Geschlecht:Männlich

geschrieben 06. Dezember 2010 - 07:19

find die Tabelle bisschen merkwürdig und versteh das auch nicht ganz aber mit INNER JOIN bist du an der richtigen Stelle wenn es über mehrere Tabellen gehen soll.

SELECT tags.wort
FROM tags INNER JOIN tags.id == zwtags.id_dokument
WHERE zwtags.id_dokument = 7;


Weis jetzt nicht ob, dass das ist was du willst^^. Weis auch gar net ob das klappt, hab seit paar Monaten nicht mehr mit SQL gearbeitet.
If Java had true garbage collection, most programs would delete themselves upon execution.
0

#4 Mitglied ist offline   tobias86 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.690
  • Beigetreten: 14. August 06
  • Reputation: 6
  • Geschlecht:Männlich
  • Wohnort:localhost

geschrieben 06. Dezember 2010 - 08:43

Beitrag anzeigenZitat (Illidan: 06.12.2010, 07:19)

SELECT tags.wort
FROM tags INNER JOIN tags.id == zwtags.id_dokument
WHERE zwtags.id_dokument = 7;


Also ich würde behaupten er muss die ID von Wort aus der Tabelle Wort mit der ID von Wort aus der Tabelle zwtags verbinden. Da es sonst keine Verbindung zwischen den Tabellen erstellt werden kann. Die Abfrage auf ID_Dokument von Illidan wird so nicht funktionieren.

SELECT tags.wort
FROM tags INNER JOIN tags.id = zwtags.id_Wort
WHERE zwtags.id_dokument = 7;

0

#5 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 06. Dezember 2010 - 13:12

Hallo,
Danke erstmal für eure Antworte. Ich habe zum üben einen Entwurf für ein DMS (Daten Managemen System) erstellt.
Mit der Tabelle möchte ich die Möglichkeit haben, Stichworte (Tags) an ein Dokument anzufügen.
In der Tabelle zwtags habe ich gespeichert welche Stichworte ein Dokument enthält.
Dies ist also nur eine Zwischentabelle, welche zwei Primärschlüssel einer anderen Tabelle enthält.

Wenn es wen interessiert, kann ich nachher mal die gesamte Datenbank posten :blink:

Viele Grüße
smite
Eingefügtes BildEingefügtes Bild
0

#6 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 06. Dezember 2010 - 19:56

Hallo,
leider bekomme ich mit eurem Code Syntaxfehler.
Ich habe es jetzt selbst noch einmal mit folgendem Code versucht:
SELECT tags.wort
FROM tags
INNER JOIN zwtags ON tags.id = zwtags.id_dokument
WHERE zwtags.id_dokument =7

Hierbei bekomme ich jedoch nur die Ausgabe:
Chef
Chef
Chef
Chef
Chef


Ich denke mal, ich habe die Tabellen irgendwie falsch verknüpft, oder?

Gruß smite
Eingefügtes BildEingefügtes Bild
0

#7 Mitglied ist offline   tobias86 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.690
  • Beigetreten: 14. August 06
  • Reputation: 6
  • Geschlecht:Männlich
  • Wohnort:localhost

geschrieben 07. Dezember 2010 - 08:33

Beitrag anzeigenZitat (smite: 06.12.2010, 19:56)

Hallo,
leider bekomme ich mit eurem Code Syntaxfehler.
Ich habe es jetzt selbst noch einmal mit folgendem Code versucht:
SELECT tags.wort
FROM tags
INNER JOIN zwtags ON tags.id = zwtags.id_dokument
WHERE zwtags.id_dokument =7

stimmt ich habe die Tabelle vergessen *schande über mein Haupt*


Zitat

Hierbei bekomme ich jedoch nur die Ausgabe:
Chef
Chef
Chef
Chef
Chef


Ich denke mal, ich habe die Tabellen irgendwie falsch verknüpft, oder?


nein hast du nicht, du willst bei deinem SQL Statement alle tags.wort bei denen die Dokument ID=7 ist. Und dies ist bei 5 Ergebnissen der Fall.
0

#8 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 07. Dezember 2010 - 08:58

Hallo,
ja genau daran lag es. Ich habe es gestern Abend noch hinbekommen, aber dann den richtigen Code hier nicht mehr gepostet.
Danke für eure Hilfe :-).
Viele Grüße
smite
Eingefügtes BildEingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0