php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.07.2006, 17:59  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard 2 Daten aus einer 2.Tab durch 2 Primärschlüssel aus 1. Tab

Hallo Leute,

Ich will eine Datenbankabfrage machen mit der ich aus einer 1. Tab. die Primärschlüsselnummern für eine 2. Tab. benutze um mir die Daten aus einer 2. Tab. indirekt zu hohlen.

Gib es da eine Möglichkeit?

Hier ein Beispiel Tab. 1:

Code:
ID | A | B
----------
 0 | 1 | 2
In Tab. 1 stellen die Spalten A und B die Primärschlüssel zur Verfügung die
in der Tab. 2 durch Werte 'Test1..' u.s.w. in einer Abfrage Ersetzt werden sollen.

Beispiel Tab. 2:

Code:
ID | Wert
----------
 1 | Test1
 2 | Test2
 3 | Test3
Gibt es eine Möglichkeit mit nur einer DB-Anfrage die Werte der 2. Tab. über die 1. Tab. zu erhalten?

Als TestDatenbank geb ich mal folgenden Anhang mit:

Code:
-- phpMyAdmin SQL Dump
-- version 2.7.0-pl1
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Erstellungszeit: 15. Juli 2006 um 17:55
-- Server Version: 5.0.18
-- PHP-Version: 5.1.1
-- 
-- Datenbank: `test`
-- 

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `t1`
-- 

CREATE TABLE `t1` (
  `sp_t1_ID` int(11) NOT NULL auto_increment,
  `sp_t2_ID1` int(11) NOT NULL,
  `sp_t2_ID2` int(11) NOT NULL,
  PRIMARY KEY  (`sp_t1_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;

-- 
-- Daten für Tabelle `t1`
-- 

INSERT INTO `t1` VALUES (1, 1, 2);

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `t2`
-- 

CREATE TABLE `t2` (
  `sp_t2_ID` int(11) NOT NULL auto_increment,
  `sp_Wert` text collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`sp_t2_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;

-- 
-- Daten für Tabelle `t2`
-- 

INSERT INTO `t2` VALUES (1, 'rot');
INSERT INTO `t2` VALUES (2, 'gruen');
Alpha Centauri ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.07.2006, 18:14  
Gast
 
Beiträge: n/a
Standard

http://www.w3schools.com/sql/sql_join.asp
  Mit Zitat antworten
Alt 15.07.2006, 18:29  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Das schein mir mit JOIN nicht lösbar zu sein. Ich kann nur einmal eine Spalte für die Abfrage bei Join benutzen.
Ich geh mal vom 1. Beispiel aus:

Code:
SELEECT t1.* , t2.*  FROM t1 LEFT JOIN t2 ON t1.A = t2.ID WHERE t1.ID = 0
.. da fehlt mir immer noch der 2. Wert für B
Alpha Centauri ist offline   Mit Zitat antworten
Alt 15.07.2006, 18:42  
Gast
 
Beiträge: n/a
Standard Re: 2 Daten aus einer 2.Tab durch 2 Primärschlüssel aus 1. T

Du kannst ein zweites JOIN anhängen. Einmal für das erste Feld und einmal für das zweite Feld.
  Mit Zitat antworten
Alt 15.07.2006, 18:52  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Kannst Du mir mein Beispiel erweitern?
__________________
Alpha Centauri ist offline   Mit Zitat antworten
Alt 15.07.2006, 19:07  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da scheint die Lösung zu stehen, so wie gewünscht:
http://www.developers-guide.net/foru...ssel-aus-1-tab
imported_Ben ist offline   Mit Zitat antworten
Alt 17.07.2006, 16:35  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Problem gelöst!

Danke an das Team von Developers-guide.net !

hier die Lösung: http://www.developers-guide.net/foru...-tab#post34062
Alpha Centauri ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
speicherung der daten bei stromausfall? MrCavity Datenbanken 2 19.11.2005 17:39
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
[Erledigt] Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
einzelne Daten aufrufen von .csv PHP Tipps 2005-2 7 23.08.2005 08:28
Daten überschreiben in einer txt datei!? CHRIS PHP Tipps 2005 2 02.03.2005 15:02
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
Daten übergeben kampfnickel PHP Tipps 2005 4 05.01.2005 14:12
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpmyadmin primärschlüssel über 2 felder, phpmyadmin 2 primärschlüssel

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.