SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.10.2009, 14:25:11
crawford2010 crawford2010 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 63
Beiträge: 8
wieder mal: Spalten aus 2 Tabellen zusammen fassen

Hallo zusammen,

bin recht neu in mySQL und muss zugeben den JOIN noch nicht wirklich verstanden (oder gar verinnerlicht zu haben).

Ich muss foilgendes lösen:

2 Tabellen,

tab1: id, mail
tab2: id, mail, newsletter uvm.

Ausgabe soll enthalten:

Felder mail beider Tabellen, von tab2 aber nur wenn newsletter = '1'
Idealerweise doppelte Einträge heraus gefiltert.
Mit zwei getrennten Abfragen ist das kein Problem, ich bekomme es aber nicht in einer Abfrage hin.

Danke für einen Tipp,

schöne Grüße,

Michael
Mit Zitat antworten
  #2  
Alt 18.10.2009, 14:43:54
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Zitat:
Zitat von crawford2010 Beitrag anzeigen
bin recht neu in mySQL und muss zugeben den JOIN noch nicht wirklich verstanden (oder gar verinnerlicht zu haben).
vielleicht hilft dir dieses kleine tutorial weiter: Einführung in Joins

cx
Mit Zitat antworten
  #3  
Alt 18.10.2009, 14:53:31
crawford2010 crawford2010 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 63
Beiträge: 8
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Hallo,

Zitat:
Zitat von cortex Beitrag anzeigen
vielleicht hilft dir dieses kleine tutorial weiter: Einführung in Joins

cx
das kenne ich bereits, aber entweder liegt es an meiner Erkältung oder ich verstehe etwas grundsätzliches nicht.

Ich möchte nicht
Spalte "a" aus tab1 nur wenn Wert identisch mit Spalte "a" aus tab2, sondern:

alle Werte aus tab1.a gemischt mir alle Werte aus tab2.a, letzteres aber nur wenn tab2.b = "1" ist. Außerdem noch natural, also Dubletten unterdrücken.

Ich krieg's einfach nicht hin. Vielleicht bin ich mit JOIN ja auf dem völlig falschen Dampfer?! Aber wie sonst...

Trotzdem Danke,

viele Grüße,

Michael
Mit Zitat antworten
  #4  
Alt 18.10.2009, 16:17:26
Crisps Crisps ist offline
Junior Member
 
Registriert seit: Oct 2008
Alter: 47
Beiträge: 274
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Du willst also alle mail Einträge aus Tabelle1 und Tabelle2 (bei letzterem nur wenn newsletter = 1 ist) und dabei gleich die doppelten Einträge entfernen?

Wenn ich das richtig verstanden hab, sollten zwei SELECT Abfragen mit UNION das richtige dafür sein:
Code:
SELECT DISTINCT t1.mail
  FROM tab1 AS t1
UNION
SELECT DISTINCT t2.mail
  FROM tab2 AS t2
 WHERE t2.newsletter = 1
Mit Zitat antworten
  #5  
Alt 18.10.2009, 17:33:28
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Zitat:
alle Werte aus tab1.a gemischt mir alle Werte aus tab2.a, letzteres aber nur wenn tab2.b = "1" ist. Außerdem noch natural, also Dubletten unterdrücken.
select distinct tab1.a, tab2.a from tab1 join tab2 where tab2.b = 1

du lässt halt einfach die join-bedingung weg.

Zitat:
Ich krieg's einfach nicht hin. Vielleicht bin ich mit JOIN ja auf dem völlig falschen Dampfer?! Aber wie sonst...
vielleicht solltest du dich mal mit den grundlagen der mengenlehre beschäftigen und dann lernen, was du eigentlich willst und wie sich das dann auf sql übetragen lässt. willst du eine vereinigung, ein kreuzprodukt, eine schnittmenge etc...
Mit Zitat antworten
  #6  
Alt 18.10.2009, 18:09:15
crawford2010 crawford2010 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 63
Beiträge: 8
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Hallo,

Zitat:
Zitat von Crisps Beitrag anzeigen
Du willst also alle mail Einträge aus Tabelle1 und Tabelle2 (bei letzterem nur wenn newsletter = 1 ist) und dabei gleich die doppelten Einträge entfernen?
Richtig.

Code:
SELECT DISTINCT t1.mail
  FROM tab1 AS t1
UNION
SELECT DISTINCT t2.mail
  FROM tab2 AS t2
 WHERE t2.newsletter = 1
Funktioniert genau wie ich es wollte, Super!

Danke dafür.

Viele Grüße,

Michael
Mit Zitat antworten
  #7  
Alt 18.10.2009, 18:12:14
crawford2010 crawford2010 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 63
Beiträge: 8
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Hallo,

Zitat:
Zitat von feuervogel Beitrag anzeigen
select distinct tab1.a, tab2.a from tab1 join tab2 where tab2.b = 1

du lässt halt einfach die join-bedingung weg.
Mir ist nicht klar was Du meinst. Deinen Vorschlag hatte ich versucht, genau so funktionierte es aber nicht.

Zitat:
Zitat von feuervogel Beitrag anzeigen
vielleicht solltest du dich mal mit den grundlagen der mengenlehre beschäftigen und dann lernen, was du eigentlich willst und wie sich das dann auf sql übetragen lässt. willst du eine vereinigung, ein kreuzprodukt, eine schnittmenge etc...
Ja, das sollte ich vielleicht...

Danke & Gruß,

Michael
Mit Zitat antworten
  #8  
Alt 18.10.2009, 23:14:09
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Zitat:
Zitat von crawford2010 Beitrag anzeigen
Hallo,



Mir ist nicht klar was Du meinst. Deinen Vorschlag hatte ich versucht, genau so funktionierte es aber nicht.



fehlermeldung? beispieldaten zum ausprobieren? exakte tabellenstruktur?
Mit Zitat antworten
  #9  
Alt 19.10.2009, 11:09:38
crawford2010 crawford2010 ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 63
Beiträge: 8
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

Zitat:
Zitat von feuervogel Beitrag anzeigen
fehlermeldung? beispieldaten zum ausprobieren? exakte tabellenstruktur?
Keine Fehlermeldung, nur falsche Ausgabe. In beiden Tabellen existieren je ca. 200 einträge, die Ausgabe beträgt. 60400 Zeilen.
Ich glaube JOIN war der falsche Ansatz.

Es gibt eine Tabelle "newsletter", Felder id, mail, name.
Tabelle kunden: id, jede_menge_felder, mail, newsletter.

Ausgabe sollte sein: von Tabelle newsletter sämtliche Datensätze, von Tabelle kunden nur die, bei denen das Feld "newsletter" den Wert "1" hat.

Das ganze von doppelten Einträgen bereinigt.

Es ist aber bereits gelöst, Crisps hat mich auf die richtige Spur gesetzt.

Nochmals Danke,

Gruß,

Michael
Mit Zitat antworten
  #10  
Alt 19.10.2009, 13:17:38
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen

gut, das hatte ich überlesen.

JOIN: kreuzprodukt, UNION: vereinigung.
Mit Zitat antworten
Antwort

Stichworte
join, mysql, select, unique


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 tabellen zusammen ordnen und limitieren mischka2k MySQLi/PDO/(MySQL) 2 30.06.2009 17:58:08
2 Spalten aus 2 Tabellen zusammenfügen tsunamitsunami PHP für Fortgeschrittene und Experten 6 04.02.2009 15:51:46
zwei Tabellen oder nur 2 Spalten extra urvater MySQLi/PDO/(MySQL) 2 28.11.2008 04:55:56
Lieber mehrere Tabellen oder viele Spalten? Phaltôn MySQLi/PDO/(MySQL) 14 16.11.2008 13:45:26
Groß- und Kleinschreibung bei Tabellen und Spalten KartoffelKiffer MySQLi/PDO/(MySQL) 11 10.07.2008 14:48:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:34:12 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt