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 |
18.10.2009, 13:25:11
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 64
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
|
18.10.2009, 13:43:54
|
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
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
|
18.10.2009, 13:53:31
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 64
Beiträge: 8
|
|
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen
Hallo,
Zitat:
Zitat von cortex
|
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
|
18.10.2009, 15:17:26
|
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
|
18.10.2009, 16:33:28
|
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...
|
18.10.2009, 17:09:15
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 64
Beiträge: 8
|
|
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen
Hallo,
Zitat:
Zitat von Crisps
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
|
18.10.2009, 17:12:14
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 64
Beiträge: 8
|
|
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen
Hallo,
Zitat:
Zitat von feuervogel
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
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
|
18.10.2009, 22:14:09
|
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
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?
|
19.10.2009, 10:09:38
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 64
Beiträge: 8
|
|
AW: wieder mal: Spalten aus 2 Tabellen zusammen fassen
Zitat:
Zitat von feuervogel
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
|
19.10.2009, 12:17:38
|
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.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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 17:08:56 Uhr.
|