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.01.2011, 19:05:54
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 106
|
|
SLQ- Abfrage über zwei Tabellen
Hallo,
ich bin ein MySQL-Anfänger. Bisher habe ich mir nur Grundlagen angeeignet. Sollte es sich um eine dumme Frage handeln - entschuldigt bitte.
Ich habe zwei Tabellen:
In der Tabelle "Namen" und der Tabelle Alternativnamen gibt es jeweils eine Spalte "Name". Ich möchte mit einer SQL-Abfrage alle Namen alphabetisch sortiert haben. Was mache ich falsch?
PHP-Code:
SELECT DISTINCT Name FROM Namen a, ALTERNATIVNAMEN b WHERE a.Name LIKE "%$q%" OR b.Name Like "%$q%" ORDER BY Name
|
31.01.2011, 20:26:41
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: SLQ- Abfrage über zwei Tabellen
Zitat:
Zitat von rolandberger
[..].Was mache ich falsch?
|
Du sagst uns nicht, was nicht stimmt (Ergebniss, Fehlermeldung, etc.).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
01.02.2011, 07:23:36
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: SLQ- Abfrage über zwei Tabellen
Wenn zwei Tabellen zusammen abgefragt werden, kommt es vor, dass Spalten mit dem selben Namen in beiden Tabellen sind (siehe Spalte NAME). Damit MySQL jetzt genau weiß, welche Spalte NAME gemeint ist, muss entweder der Tabellenname oder ein Alias davorgesetzt werden (siehe a.name ), sonst gibt es ein Syntaxfehler
Code:
SELECT DISTINCT a.Name
FROM Namen a,
ALTERNATIVNAMEN b
WHERE a.Name LIKE '%$q%'
OR b.Name Like '%$q%'
ORDER BY a.Name;
EDIT..
Ich vermute mal, der SQL macht nicht dass, was Du möchtest. Mach mal ein paar Testdaten und zeige das gewünschte Ergebnis.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Geändert von thomas_w (01.02.2011 um 07:41:21 Uhr)
Grund: EDIT
|
05.02.2011, 16:45:35
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 106
|
|
AW: SLQ- Abfrage über zwei Tabellen
Ihr habt natürlich beide Recht. Also
CREATE TABLE `BiographyMaster` (
`Masterid` int(11) NOT NULL auto_increment,
`Realname` varchar(120),
`SourceId` int(11),
`Identifier` varchar(120) ,
PRIMARY KEY (`Masterid`)
)
CREATE TABLE `BiographyMasterNames` (
`Id` int(11) NOT NULL auto_increment,
`Sourceid` int(4) NOT NULL,
`Alternativename` varchar(120),
PRIMARY KEY (`Id`)
)
Ich möchte eine Abfrage über beide Tabellen machen und am Ende eine Tabelle erhalten, die alle unterschiedlichen Namen ausgibt.
Namen
-----------
Carssten
Florian
Tobias
|
06.02.2011, 20:02:22
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: SLQ- Abfrage über zwei Tabellen
Zitat:
Zitat von sinfo
Ich möchte eine Abfrage über beide Tabellen machen und am Ende eine Tabelle erhalten, die alle unterschiedlichen Namen ausgibt.
|
Mir ist nicht klar "welche" Namen zu meinst und ob die Tabellen in irgendeinem Zusammenhang (JOIN) stehen sollen.
Eine mögliche Lösung wäre also diese (sofern kein Tippfehler drin ist. Ich habe hier grad kein MySQL zum Testen):
Code:
SELECT DISTINCT n.name
FROM ( SELECT realname AS name FROM BiographyMaster
UNION
SELECT alternativename AS name FROM BiographyMasterNames
) n
ORDER BY n.name;
Aus jeder der beiden Tabelle werden die Inhalte der Namensspalten geholt und und zu einer Ausgabe aneianderhängt (UNION). Gleichzeitig wird mit UNION und DISTINCT alle "doppelten" Inhalte entfernt.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
06.02.2011, 22:25:33
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 106
|
|
AW: SLQ- Abfrage über zwei Tabellen
Danke! Es war noch ein Fehler drin. Aber das ist ein super Ansatz. Damit konnte ich es lösen!
|
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 13:16:27 Uhr.
|