CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |

31.05.2011, 11:17:06
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
Abfrage über 6 Tabellen-11Spalten
Guten Tag!
Ich habe die Literatur über Mysql viele Stunden studiert, Manual, Koffler, SQL in 21 Tagen, Rouven Thimms Artikel Einführungs in Joins und Fortgeschrittene Joins von Vinzenz Mai. Vom Netz will ich garnicht reden.
Ich habe nicht das gefunden was ich suche. Vieleich habe ich mit meinen fast 8 Jahrzenten vieles übersehen, es ist auch nicht leicht alles zu behalten.
Zur Sache: Verknüpfung der Tabellen
Unten habe ich 6 Tabellen aufgeführt, Tabelle 1. bis 4. ist die Verknüpfung kein Problem.
Tabellen 5 und 6 soll nun auch mit der Tabelle 1 verknüpft werden und daran scheitere ich.
Die Spalten aw1 ... aw10 aus Tabelle 6 beinhalten einen Wert von ID_bild aus Tabelle 5.
Nun soll das Bild aus aw1 ... aw10 mit dem dazu gehörtem Text augegeben werden.
Es gibt keine mehrfachen Namen in den Tabellen und Spalten
1. Haupt-Tabelle: Je Zeile ein User
| ID | firma | vorname | nachname | ID_p | ID_o | ID_bund | ID_pikaw |
2. PLZ-Tabelle: Wohnort des Users Verknüpfung mit Hauptabelle über LEFT JOIN ist Ok
| ID_plz | plz |
3. Ort-Tabelle: Wohnort des Users Verknüpfung mit Hauptabelle über LEFT JOIN ist Ok
| ID_Ort | ort |
4. Bundesland-Tabelle: Wohnort des Users Verknüpfung mit Hauptabelle über LEFT JOIN ist Ok
| ID_land | bundesland |
5. Piktogramme-Tabelle: Mehr als 70 Bilder, BildNr. und beschreibender Text
| ID_bild | btext |
6. Auswahl-Tabelle: Je User bis zu 10 Bilder zur Auswahl, jedes Bild nur 1 mal
| ID_auswahl |aw1|aw2|aw3|aw4|aw5|aw6|aw7|aw8|aw9|aw10|
aw1...aw10 Verknüpfung mit ID_bild, und ID_auswahl mit ID_pikaw zur Verknüpfung mit dem User
Ausgabe soll sein:
ID, firma, vorname, nachname, plz, ort, bundesland und die Bilder zu aw1 bis aw10 mit btexte
Wer von Euch kann mir helfen eine Verknüpfung zu erstellen zwischen Haupt- Piktogramme- Auswahl-Tabelle.
Die Ausgabe erfolgt über PHP und Smarty. Es werden alle Spalten ausgegeben sofern Daten vorliegen.
Aus der Tabelle Piktogramme sollen über die Auswahl-Tabelle bis zu 10 Bilder je User ausgegeben werden.
ID_bild ist die Bildnummer, sie ist gleich mit der Nummer in aw1..aw10. Die Spalte btext beinhaltet
eine Beschreibung des Bildes. Die Bilder selbst liegen in einer Datei und werden über die ID_bild ausgewählt.
Für eure Mühe danke ich Euch!
|

31.05.2011, 11:49:44
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Hi
Zitat:
Tabelle 1. bis 4. ist die Verknüpfung kein Problem.
|
Dann zeig uns doch mal was du hast.
Zitat:
Wer von Euch kann mir helfen eine Verknüpfung zu erstellen zwischen Haupt- Piktogramme- Auswahl-Tabelle.
|
Einige wenn du uns die Tabellenerstellungsdaten + Testdaten zur Verfügung stellst.
Zitat:
Für eure Mühe danke ich Euch!
|
Und wir dir für weitere infos ;)
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|

31.05.2011, 12:18:08
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Guten Tag CKaos,
Danke für Deine schnelle Antwort.
Ich erstelle Testtabellen mit einigen Daten usw.
Es wird aber eine kleine Weile brauchen.
Danke für die Mühe
Gruß von Gileeser
|

31.05.2011, 13:15:30
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 15
Beiträge: 395
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Zitat:
Zitat von Gileeser
6. Auswahl-Tabelle: Je User bis zu 10 Bilder zur Auswahl, jedes Bild nur 1 mal
| ID_auswahl |aw1|aw2|aw3|aw4|aw5|aw6|aw7|aw8|aw9|aw10|
aw1...aw10 Verknüpfung mit ID_bild, und ID_auswahl mit ID_pikaw zur Verknüpfung mit dem User
|
Die 6. Auswahltabelle ist nicht richtig normalisiert, deshalb ist die Abfrage auch so schwierig.
Vorschlag zur Tabelle 6.
Code:
ID_auswahl | lfdnr | ID_bild
Die neue Spalte lfdnr soll einen Wert zwischen 1 und 10 annehmen können. Für jedes Bild wird einen Datensatz in der Tabelle eingetragen.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|

31.05.2011, 15:18:45
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Guten Tag thomas_w,
ich glaube es liegt ein Verständnisproblem vor. Ich werde mal versuchen durch aufzeichen einer Ausgabe der Daten Klarheit zu schaffen.
Ausgabe der Daten:
25
P
Hans Meister
27345 Musterdorf
Niedersachsen
Bild1 Bild2 Bild3 Bild4 Bild5 Bild6 Bild7 Bild8 Bild9 Bild10
Beschreibung der Ausgabe 1:
25 stellt die KundenNr., P die Firma, Vor u. Nachname, Bundesland dar.
Bild1 hat die BilderNr. 25, Bild 2 die BilderNr. 7, Bild3 die BilderNr. 61 usw.
Beschreibung der Ausgabe 2:
17 stellt die KundenNr., P die Firma, Vor u. Nachname, Bundesland dar.
Bild1 hat die BilderNr. 15, Bild 2 die BilderNr. 34, Bild3 die BilderNr. 48 usw.
Beim Klick auf ein Bild in der Ausgabe wird die Beschreibung angezeigt.
Die BilderNrn. werden durch den User in die Tabelle eingetragen und werden nicht angezeigt.
Es muß also von der Tabelle 1 zur Tabelle 5 und zur Tabelle 6 eine Verbindug hergestellt werden.
Aber wie, das ist also die große Frage.
Ich würde mich freuen wenn einer der klugen Köpfe einen Klick findet.
Gruß an alle
Gileeser
|

31.05.2011, 17:22:28
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Guten Nachmittag,
ich habe nun die Testdaten fertig.
Mit phpMyAdmin habe ich folgendes Select getestet.
SELECT * FROM haupttb
LEFT JOIN plztb ON haupttb.ID_p = plztb.ID_plz
LEFT JOIN orttb ON haupttb.ID_o = orttb.ID_ort
LEFT JOIN bundeslandtb ON haupttb.ID_bund = bundeslandtb.ID_land
LEFT JOIN piktogrtb ON haupttb.ID_pikaw = piktogrtb.ID_bild
WHERE plztb.plz
Ende select
Diese Ausgabe von der folgenden Zeile brauche ich 10 mal in jeder Zeile, natürlich mit verschiedenen Werten:
LEFT JOIN piktogrtb ON haupttb.ID_pikaw = piktogrtb.ID_bild
Ich hoffe Ihr könnt mir damit helfen.
Danke! Gruß Gileeser
|

31.05.2011, 20:00:32
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 15
Beiträge: 395
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Also ich meine schon, dass mit normalisierung da was zu machen ist. Aber nichts desto trotz hier ein Beispiel für aw1 und aw2. Für den Rest war ich zu faul und Du brauchst es nur weiter zu ergänzen.
Code:
SELECT haupttb.ID, haupttb.firma, haupttb.vorname, haupttb.nachname,
plztb.plz, orttb.ort, bundeslandtb.bundesland,
aw1.aw1, aw1.btext,
aw2.aw2, aw2.btext
FROM haupttb
LEFT JOIN plztb
ON haupttb.ID_p = plztb.ID_plz
LEFT JOIN orttb
ON haupttb.ID_o = orttb.ID_ort
LEFT JOIN bundeslandtb
ON haupttb.ID_bund = bundeslandtb.ID_land
LEFT JOIN piktogrtb
ON haupttb.ID_pikaw = piktogrtb.ID_bild
LEFT JOIN ( SELECT a.ID_auswahl, a.aw1, p.btext
FROM auswahltb a
JOIN piktogrtb p
ON a.aw1 = p.ID_bild ) aw1
ON aw1.ID_auswahl = haupttb.ID_pikaw
LEFT JOIN ( SELECT a.ID_auswahl, a.aw2, p.btext
FROM auswahltb a
JOIN piktogrtb p
ON a.aw2 = p.ID_bild ) aw2
ON aw2.ID_auswahl = haupttb.ID_pikaw
WHERE plztb.plz;
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
| ID | firma | vorname | nachname | plz | ort | bundesland | aw1 | btext | aw2 | btext |
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
| 1 | P | Hans | Meister | 01157 | Aerzen | Saarland | 5 | 24h-Rezeption | 17 | 2 Bettzimmer |
| 2 | H | Grete | Hauslaus | 01239 | Alf | Bremen | 15 | 1 Bettzimmer | 12 | Safe im Zimmer |
| 3 | P | Karl | Gistermann | 01445 | Ahrensburg | Schleswig-Holstein | 7 | Telefon im Zimmer | 5 | 24h-Rezeption |
| 4 | H | Ulla | Clausen | 01127 | Achslach | Hamburg | 1 | Behinderte Einrichtungen | 2 | Hunde erlaubt |
| 5 | B | Frank | Elster | 01139 | Aarbergen | Sachsen-Anhalt | 8 | Kinderbett | 7 | Telefon im Zimmer |
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
5 rows in set (0.00 sec)
mysql>
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|

31.05.2011, 22:44:35
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Danke an Thomas,
Du warst nicht zu faul, Du hast mir nur nicht die Arbeit wegnehmen wollen und das ist gut so.
Ich werde die Arbeit morgen fortführen, denn was ist das Leben ohne Arbeit? - Grausam!
Grüße Gileeser
|

01.06.2011, 09:37:39
|
Anfänger
|
|
Registriert seit: Jan 2010
Alter: 15
Beiträge: 10
|
|
AW: Abfrage über 6 Tabellen-11Spalten
Zitat:
Zitat von thomas_w
Also ich meine schon, dass mit normalisierung da was zu machen ist. Aber nichts desto trotz hier ein Beispiel für aw1 und aw2. Für den Rest war ich zu faul und Du brauchst es nur weiter zu ergänzen.
Code:
SELECT haupttb.ID, haupttb.firma, haupttb.vorname, haupttb.nachname,
plztb.plz, orttb.ort, bundeslandtb.bundesland,
aw1.aw1, aw1.btext,
aw2.aw2, aw2.btext
FROM haupttb
LEFT JOIN plztb
ON haupttb.ID_p = plztb.ID_plz
LEFT JOIN orttb
ON haupttb.ID_o = orttb.ID_ort
LEFT JOIN bundeslandtb
ON haupttb.ID_bund = bundeslandtb.ID_land
LEFT JOIN piktogrtb
ON haupttb.ID_pikaw = piktogrtb.ID_bild
LEFT JOIN ( SELECT a.ID_auswahl, a.aw1, p.btext
FROM auswahltb a
JOIN piktogrtb p
ON a.aw1 = p.ID_bild ) aw1
ON aw1.ID_auswahl = haupttb.ID_pikaw
LEFT JOIN ( SELECT a.ID_auswahl, a.aw2, p.btext
FROM auswahltb a
JOIN piktogrtb p
ON a.aw2 = p.ID_bild ) aw2
ON aw2.ID_auswahl = haupttb.ID_pikaw
WHERE plztb.plz;
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
| ID | firma | vorname | nachname | plz | ort | bundesland | aw1 | btext | aw2 | btext |
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
| 1 | P | Hans | Meister | 01157 | Aerzen | Saarland | 5 | 24h-Rezeption | 17 | 2 Bettzimmer |
| 2 | H | Grete | Hauslaus | 01239 | Alf | Bremen | 15 | 1 Bettzimmer | 12 | Safe im Zimmer |
| 3 | P | Karl | Gistermann | 01445 | Ahrensburg | Schleswig-Holstein | 7 | Telefon im Zimmer | 5 | 24h-Rezeption |
| 4 | H | Ulla | Clausen | 01127 | Achslach | Hamburg | 1 | Behinderte Einrichtungen | 2 | Hunde erlaubt |
| 5 | B | Frank | Elster | 01139 | Aarbergen | Sachsen-Anhalt | 8 | Kinderbett | 7 | Telefon im Zimmer |
+----+-------+---------+------------+-------+------------+--------------------+------+--------------------------+------+-------------------+
5 rows in set (0.00 sec)
mysql>
Grüße
Thomas
|
Moin, Moin,
ich habe Dein Muster, Thomas, auf 10 Stellen erweitert und es funktioniert besten.
Du hast eine sehr gute Arbeit geleistet, dafür nochmals besten Dank.
Alles Gute, Grüße Gileeser
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:19:00 Uhr.
|