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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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)
Hilfe Community Kalender Heutige Beiträge Suchen

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 14.08.2011, 11:30:52
t91 t91 ist offline
Anfänger
 
Registriert seit: Aug 2011
Alter: 34
Beiträge: 2
TNG Stammbaum, UNION SELECT für Ehename

Hallo,

ich arbeite gerade an unserem Stammbaum und möchte den Ehenamen in die Suche einschließen. TNG speichert alle Personen in einer Tabelle. Familien (also Ehen) werden in einer speraten Tabelle gespeichert.

Hier mal der Aufbau der Tabellen.

Code:
Tabellenstruktur für Tabelle tng_families
Feld	Typ	Null	Standard
ID	int(11)	Ja	NULL
familyID	varchar(22)	Ja	NULL
husband	varchar(22)	Ja	NULL
wife	varchar(22)	Ja	NULL
changedate	datetime	Ja	NULL
living	tinyint(4)	Ja	NULL
Code:
Tabellenstruktur für Tabelle tng_people
Feld	Typ	Null	Standard
ID	int(11)	Ja	NULL
gedcom	varchar(20)	Ja	NULL
personID	varchar(22)	Ja	NULL
lnprefix	varchar(25)	Ja	NULL
lastname	varchar(127)	Ja	NULL
firstname	varchar(127)	Ja	NULL
birthdate	varchar(50)	Ja	NULL
birthdatetr	date	Ja	NULL
sex	tinytext	Ja	NULL
birthplace	text	Ja	NULL
living	tinyint(4)	Ja	NULL
husband und wife aus der Tabelle tng_families sind jeweils mit der personID aus der Tabelle tng_people bestückt. Und das ist genau mein Problem. Ich habe ein Eingabefeld $keyword.

Gibt es eine Möglichkeit eine Abfrage zu bauen die den Nachnamen (tng_people.lastname) beider Ehepartner (wife und husband in tng_families) unter Betracht zieht?

Beispiel:
Das Suchwort ($keyword) ist "Mustermann"

Unter tng_people gibt es "Max Mustermann" (personID=1) und seine Frau "Maria Musterfrau" (personID=2). Unter tng_families besteht eine Ehe mit den Werten husband=1 und wife=2.

Wie bekomme ich es nun hin das bei dem Suchwort "Mustermann" auch die Frau als "Maria Mustermann" gefunden wird, obwohl sie in der Datenbank als "Maria Musterfrau" steht?

Hat jemand einen Rat für mich? Sämtliche SQL Anweisungen die ich probiert habe führen nicht zu dem Ergebnis was ich mir erhofft habe.

Code:
SELECT fam.wife, fam.husband FROM tng_families fam
WHERE fam.husband <= ALL (SELECT peoa.personID as husbandID FROM tng_people peoa WHERE peoa.lastname LIKE '%Mustermann%')
OR fam.wife <= ALL (SELECT peob.personID as wifeID FROM tng_people peob WHERE peob.lastname LIKE '%Mustermann%')
Code:
SELECT peo.* FROM tng_people peo
WHERE peo.lastname LIKE '%Mutsermann%' 
OR peo.personID <= ALL (SELECT fam.husband FROM tng_families fam)
OR peo.personID <= ALL (SELECT fam.wife FROM tng_families fam);
Danke schon mal.
Mit Zitat antworten
  #2  
Alt 14.08.2011, 15:39:14
t91 t91 ist offline
Anfänger
 
Registriert seit: Aug 2011
Alter: 34
Beiträge: 2
AW: TNG Stammbaum, UNION SELECT für Ehename

Hallo,

es geht doch nichts über einen vollen Bauch, da lässt es sich gleich viel besser denken.
Lösung gefunden:

Zitat:
SELECT p.PersonID, fam.wife, fam.husband, CONCAT(p.firstname," ",p.lastname," ",pa.lastname) AS FullName, p.firstname, p.lastname, IF (p.sex = "M", p.lastname, pa.lastname) AS marrname
FROM tng_people AS p
LEFT JOIN tng_families AS fam ON fam.wife=p.personID OR fam.husband=p.personID
LEFT JOIN tng_people AS pa ON fam.wife=pa.personID OR fam.husband=pa.personID
WHERE pa.lastname LIKE "%Mutsermann%" OR p.lastname LIKE "%Mutsermann%"
ORDER BY p.lastname ASC, p.firstname ASC;
Klappt ganz gut. Wenn ich den CONTACT weg lasse und dann noch mit DISTINCT filtere, ist es super.
Mit Zitat antworten
Antwort


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.

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
Ausgabe wird nicht angezeigt Extremefall PHP Grundlagen 9 17.12.2009 08:49:45
2 Select anfragen in eine? merowinger MySQLi/PDO/(MySQL) 5 25.02.2009 14:47:01
Probleme mit PHP und mySQL, Select xy as yz funktioniert nicht KickMuck MySQLi/PDO/(MySQL) 1 04.03.2006 12:24:31
To Many Connections ProGamer11 PHP Grundlagen 0 18.06.2003 23:52:56
Ich willst jetzt wissen - Select * oder nicht Select * CyberAge PHP Grundlagen 22 13.08.2002 17:40:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:13:45 Uhr.


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


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