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 |
08.08.2014, 15:57:43
|
Anfänger
|
|
Registriert seit: Aug 2014
Alter: 35
Beiträge: 5
|
|
SQL select auf 2 tabellen mit ausschluss von einträgen - ratlos
Hey!
Ich möchte auf 2 Tabellen zugreifen, diese heissen spt_spieler und spt_spiel_spieler
in spt_spieler stehen alle spieler des Vereins drin.
In spt_spiel_spieler stehen Zuordnungen und der Status von Spielern zu einem Spiel drin.
Jetzt möchte ich aber ALLE spieler haben, welche in der Mannschaft sind aber KEINE zuordnung zu einem Spiel haben.
bekomme ich das hin ohne meine ergebnisse später in einer schleife raus zu filtern?
PHP-Code:
$sql = "SELECT
s.knrsptspieler
FROM
spt_spieler s, spt_spiel_spieler_historie ssh
WHERE
s.knrsptmannschaft=".$spiel->m_member["knrsptmannschaft"]."";
|
08.08.2014, 18:49:31
|
Junior Member
|
|
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
|
|
AW: SQL select auf 2 tabellen mit ausschluss von einträgen - ratlos
Ein nicht funktionierendes SQL ist nicht ganz so gut, besser wäre die Definition der Tabellen (evtl. vereinfacht), ein paar Beispieldatensätze und was rauskommen soll.
|
09.08.2014, 14:03:40
|
Anfänger
|
|
Registriert seit: Aug 2014
Alter: 35
Beiträge: 5
|
|
AW: SQL select auf 2 tabellen mit ausschluss von einträgen - ratlos
Okay, hoffe es reicht so als "model"
Models:
PHP-Code:
class spt_spiel_spieler_historie extends ih_db
{
// Klassenmember
var $m_member = array('knrsptspielspielerhistorie'=>0, 'knrsptspiel'=>0, 'knrsptspieler'=>0, 'knrsptspielspielerstatus'=>0, 'begruendung'=>NULL,
'user_ins'=>0, 'dat_ins'=>0, 'user_upd'=>0, 'dat_upd'=>0);
}
class spt_spiel extends ih_db
{
// Klassenmember
var $m_member = array('knrsptspiel'=>0, 'knrsptsaison'=>0, 'knrsptliga'=>0, 'knrsptmannschaft'=>0, 'knrtermin'=>0, 'knrtermin_treffpunkt'=>0,
'gegner_name'=>NULL, 'heimspiel'=>NULL, 'spiel_id'=>NULL, 'spieltag'=>0,
'tore_halbzeit'=>0, 'tore_halbzeit_gegner'=>0, 'tore_ende'=>0, 'tore_ende_gegner'=>0, 'gespann'=>NULL, 'bemerkung'=>NULL,
'user_ins'=>0, 'dat_ins'=>0, 'user_upd'=>0, 'dat_upd'=>0);
}
class spt_spieler extends ih_db
{
// Klassenmember
var $m_member = array('knrsptspieler'=>0, 'knrbenutzer'=>0, 'passnr'=>0, 'spiel_ab'=>0, 'gewicht'=>0,
'groesse'=>0, 'aktiv'=>1, 'bild'=>NULL, 'user_ins'=>0, 'dat_ins'=>0, 'user_upd'=>0, 'dat_upd'=>0);
}
class spt_spieler_mannschaft extends ih_db
{
// Klassenmember
var $m_member = array('knrsptspielermannschaft'=>0, 'knrsptspieler'=>0, 'knrsptmannschaft'=>0, 'trikotnummer'=>0, 'user_ins'=>0, 'dat_ins'=>0, 'user_upd'=>0, 'dat_upd'=>0);
}
Nach langem Suchen habe ich herausgefunden, dass man ein LEFT JOIN anlegen muss und den inhalt auf NULL prüfen, dann sollte man die einträge bekommen.
jetzt bekomme ich mit dem unten angegebenen aktuellen SQL diese Meldung:
#1054 - Unknown column 'sm.knrsptspieler' in 'on clause'
Diese spalte ist aber wie oben im Model zu sehen hinterlegt. aber 5 mal die schreibweise gecheckt.
Code:
SELECT *
FROM spt_spieler_mannschaft sm, spt_spieler sp, sys_benutzer b
LEFT JOIN spt_spiel_spieler_historie ssh ON (ssh.knrsptspieler=sm.knrsptspieler)
WHERE
(ssh.knrsptspielspielerstatus IS NULL)
AND
sm.knrsptmannschaft=3
AND
sp.knrsptspieler=sm.knrsptspieler
AND
b.knrbenutzer=sp.knrbenutzer
|
10.08.2014, 09:40:02
|
Junior Member
|
|
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
|
|
AW: SQL select auf 2 tabellen mit ausschluss von einträgen - ratlos
Zitat:
Zitat von Ingo32Q
Code:
SELECT *
FROM spt_spieler_mannschaft sm, spt_spieler sp, sys_benutzer b
LEFT JOIN spt_spiel_spieler_historie ssh ON (ssh.knrsptspieler=sm.knrsptspieler)
|
Das ist Murks. Du mischt impliziete und expliziete JOINs.
|
10.08.2014, 10:20:26
|
Anfänger
|
|
Registriert seit: Aug 2014
Alter: 35
Beiträge: 5
|
|
AW: SQL select auf 2 tabellen mit ausschluss von einträgen - ratlos
Oh damit hätte ich nicht gerechnet.
Ist mir auch noch nie passiert weil ich noch nie ein SQL mehrfach versucht habe umzubasteln.
Naja jetzt hab ich wieder was gelernt!
Vielen Danke!! :)
PHP-Code:
$sql = "SELECT
sm.knrsptspieler, b.vorname, b.nachname
FROM
spt_spieler_mannschaft sm
LEFT JOIN
spt_spieler sp ON (sp.knrsptspieler=sm.knrsptspieler)
LEFT JOIN
sys_benutzer b ON (b.knrbenutzer=sp.knrbenutzer)
LEFT JOIN
spt_spiel_spieler_historie ssh ON (sm.knrsptspieler=ssh.knrsptspieler)
WHERE
ssh.knrsptspielspielerstatus IS NULL
AND
sm.knrsptmannschaft=".$spiel->m_member["knrsptmannschaft"];
|
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 11:53:19 Uhr.
|