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 |
27.01.2011, 07:54:03
|
Anfänger
|
|
Registriert seit: Jan 2011
Alter: 43
Beiträge: 36
|
|
Werte in Tabellen vergleichen
Guten morgen,
ich möchte gerne folgendes wissen und würde mich über entsprechende sehr freuen. Ich habe das Thema auch als Excel erstellt. Aber ich habe grade erfahren, dass das eine Spalte über 150000 Datensätze hat und bei Excel kann ich das nicht einlesen. Excel sagte mir, dass Textdatei enthät mehr Daten, als Arbeistblatt aufnehmen kann.
Deswegen hier ist die Frage, ob ich das mit mysql machen kann.
Ich habe 2 Tabellen mit unterschiedlichen Werten (denke ich) Eine spalte hat 10000 Zeilen, andere 150000. werte sind als char definiert. Das sind die Teile von großen Tabellen un dich habe das als Abfrage gespeichert. Also im Enddeffekt habe ich 2 Tabellen.
Beispiel:
A B
11 16
12 44
13
15
Weiß jemand eine Formel, wie es möglich ist, dass die jeweiligen Werte der Tabelle 1 und Tabelle 2 vergleichen kann und falls die Werte in Tabelle 1 und Tabelle 2 vorkommen als Ergebnis zeigen.
Bin für jede Hilfe dankbar.
Pauline
|
27.01.2011, 08:12:51
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: Werte in Tabellen vergleichen
Spalten aus verschiedenen Tabellen werden (z.B.) mit JOIN verglichen. Gleiche Datentypen vorausgesetzt.
Beispiel:
Code:
SELECT t1.*, t2.*
FROM tabelle t1
JOIN tabelle t2
ON t1.a = t2.b;
oder
Code:
SELECT t1.*, t2.*
FROM tabelle t1,
tabelle t2
WHERE t1.a = t2.b;
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
27.01.2011, 08:25:08
|
Anfänger
|
|
Registriert seit: Nov 2010
Alter: 43
Beiträge: 40
|
|
AW: Werte in Tabellen vergleichen
Frag mal hier grad kurz nach weil du das grade gepostet hast.
Gibt es einen Unterschied zwischen beiden Methoden die du gepostet hast?
Wenn ich 2 Spalten abrufen will benutze ich immer die 2. von dir gepostete Möglichkeit ohne JOIN, klappt bis jetzt immer ohne Probleme
|
27.01.2011, 08:36:57
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Zitat von Leaderred
Frag mal hier grad kurz nach weil du das grade gepostet hast.
Gibt es einen Unterschied zwischen beiden Methoden die du gepostet hast?
Wenn ich 2 Spalten abrufen will benutze ich immer die 2. von dir gepostete Möglichkeit ohne JOIN, klappt bis jetzt immer ohne Probleme
|
Nein, es gibt keinen technischen Unterschied zwischen den beiden Methoden.
Die obere Variante (ANSI SQL Standard) wird verwendet, wenn eine Tabellenverknüpfung auf Basis der Schlüsselfelder (Primary Key, Foreign Key) erfolgt. Die untere ( "Old style JOIN" ) wenn andere Spalten als die Keys verwendet werden. Das Ergebnis ist das Gleiche.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
27.01.2011, 12:01:33
|
Anfänger
|
|
Registriert seit: Jan 2011
Alter: 43
Beiträge: 36
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Zitat von thomas_w
Spalten aus verschiedenen Tabellen werden (z.B.) mit JOIN verglichen. Gleiche Datentypen vorausgesetzt.
Beispiel:
Code:
SELECT t1.*, t2.*
FROM tabelle t1
JOIN tabelle t2
ON t1.a = t2.b;
oder
Code:
SELECT t1.*, t2.*
FROM tabelle t1,
tabelle t2
WHERE t1.a = t2.b;
Grüße
Thomas
|
Hallo, vielen Dank, es hat geklappt!
Pauline
|
27.01.2011, 12:13:28
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Zitat von thomas_w
Nein, es gibt keinen technischen Unterschied zwischen den beiden Methoden.
Die obere Variante (ANSI SQL Standard) wird verwendet, wenn eine Tabellenverknüpfung auf Basis der Schlüsselfelder (Primary Key, Foreign Key) erfolgt. Die untere ( "Old style JOIN" ) wenn andere Spalten als die Keys verwendet werden. Das Ergebnis ist das Gleiche.
Grüße
Thomas
|
Naja....
Da alle Felder in der ON, HAVING, ORDER und WHERE Klausel mit einem Index versehen sein sollten, halte ich das für wenig Argument. Sehe auch den Einfluss nicht. Beide Methoden funktionieren mit oder ohne Index gleichermaßen. Der Theta Stil begrenzt den JOIN auf einen INNER JOIN. Nix anderes kann er. Das ist nicht immer gewünscht, Und da einem viele andere DBMS die untere Variante achtkantig um die Ohren hauen, ist meines Erachtens nach NUR die obere Variante akzeptabel.
Auch entspricht das dem "Prinzip der geringsten Verwunderung".
Der JOIN ist auf dem ersten Blick zu erkennen.
|
27.01.2011, 13:02:46
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Zitat von DokuLeseHemmung
.. da einem viele andere DBMS die untere Variante achtkantig um die Ohren hauen, ist meines Erachtens nach NUR die obere Variante akzeptabel.
|
Für mich ging es bei dieser Erläuterung nur um den Vergleich zweier Tabellenspalten und nicht was für JOIN Varianten es noch gibt und was sie können.
Was ich jetzt nicht verstehe ist Deine Aussage mit "...achtkantig...". Was ist der obere und was der untere Query? Der untere Query ist für mich dieser..
Zitat:
/* unterer Query */
SELECT t1.*, t2.*
FROM tabelle t1,
tabelle t2
WHERE t1.a = t2.b;
|
Welche Datenbank kann diese Abfrage nicht ausführen?
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
27.01.2011, 13:17:35
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Welche Datenbank kann diese Abfrage nicht ausführen?
|
Hmm.. sollte ich mich da täuschen....?
Kann sein!
Zitat:
Die obere Variante (ANSI SQL Standard) wird verwendet, wenn eine Tabellenverknüpfung auf Basis der Schlüsselfelder (Primary Key, Foreign Key) erfolgt.
|
Und du liegst mit dieser Unterscheidung richtig?
Warum?
|
27.01.2011, 13:26:20
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: Werte in Tabellen vergleichen
Zitat:
Zitat von DokuLeseHemmung
Und du liegst mit dieser Unterscheidung richtig?
Warum?
|
Vielleicht ist das Satz nicht so rübergekommen wie ich es meinte:
Mit dem ANSI SQL Standard (SQL-92) würde der Befehl JOIN eingeführt und für gewöhnlich für die Tabellenverknüpfung auf Basis der Keys (Primary Key, Foreign Key) verwendet, aber natürlich kann man auch Spalten, die nicht Key sind, damit vergleichen
Code:
SELECT t1.*, t2.*
FROM tabelle t1
JOIN tabelle t2
ON t1.hausnummer = t2.hausnummer;
Ich denke, wir sind uns einig.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
27.01.2011, 13:33:10
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: Werte in Tabellen vergleichen
Fast!
;)
|
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:05:26 Uhr.
|