WinFuture-Forum.de: 2mysql Tabellen In Beziehung Setzten - Normalisieren - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

2mysql Tabellen In Beziehung Setzten - Normalisieren


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 21. Oktober 2008 - 14:02

Hallo,
ich habe 2 Tabellen,
in der ersten werden viele Datensätze gespeichert untern anderem eine kategorieid.
in der zweiten Tabelle habe ich die kategorieid und den Namen der Kategorie.

Nun möchte ich in einem MySQL-Befehl eine die Daten so abrufen dass anstatt der kategorieid der name steht.

Hier die beiden Tabellen:
Angehängtes Bild: kat.PNG

Der Code hier falsch aber so in etwa müsste es doch gehen oder?
SELECT id,name,IF(kat= kat FROM hp_scripts_kat,'kat',)AS kategorie,autor,views FROM hp_scripts WHERE status=1


So Soll dann sie dritte "virtuelle/zusammengesetzte" Tabelle entstehen:
Angehängtes Bild: kat2.PNG

Ich hoffe ich konnte das durch die Zeichnung etwas verständlicher machen! :rolleyes:

Gruß,
Toasterfraktion
0

Anzeige



#2 Mitglied ist offline   schumi0815 

  • Gruppe: aktive Mitglieder
  • Beiträge: 482
  • Beigetreten: 20. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:München

geschrieben 21. Oktober 2008 - 14:22

ich würde die if abfrage vor dem select befehl machen dann das ergebnis in ne variable. evtl komm dann mehrere select anforderungen raus aber es funzt wenigstens.
0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 21. Oktober 2008 - 14:33

Ja klar so kann man es machen, aber wenn man den SQL Syntax kennt kann man sich viel viel Quelltext sparen. Ich glaube aber dass ich die lösung schon habe:
$sql="SELECT a.id, a.name, a.kat, a.autor, a.time, a.views
, b.name AS kategorie FROM hp_scripts AS a INNER JOIN hp_scripts_kat AS b ON b.kid = a.kat WHERE status=1 ORDER BY time DESC LIMIT 20"


Damit komme ich zu meinem Ergebnis, hätte nihct gedacht dass es so enfach ist.

Gruß,
Toasterfraktion

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 21. Oktober 2008 - 14:52

0

Thema verteilen:


Seite 1 von 1

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