php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-05-2010, 11:32
smyl
 Registrierter Benutzer
Links : Onlinestatus : smyl ist offline
Registriert seit: Sep 2002
Ort: Seeheim
Beiträge: 61
smyl ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehlende Einträge (hier: Personen) finden

Hallo,

ich würde mich über eine kurze Hilfe freuen. Zur Illustration meines Problem das folgende Beispiel:

Es gibt folgende Tabellen:
Personen (id / name)
Eventteilnehmer (id / personen_id)

Ausgangssituation
: In der Tabelle Eventteilnehmer befindet sich ein Teil der Personen (verknüpft über personen_id).

Problem (Ziel): Ich möche jetzt herausfinden welche Personen noch nicht als Eventteilnehmer feststehen. Also sich noch nicht in Eventteilnehmer befinden

Zusatz: Mir ist bewusst, dass das Ganze über eine Schleife problemlos lösbar ist. Allerdings suche ich ein Weg, der etwas schneller und Performance-freundlicher ist. Abfrage findet recht häufig statt und sollte schnell zum Ergebnis kommen (Beispiel war zur einfachen Illustration - geht um einen Vokabeltrainer).

Gibt es z.B. eine MySQL Abfrage, welche die Ergebnisse liefert?

Vielen Dank
Mit Zitat antworten
  #2 (permalink)  
Alt 21-05-2010, 11:39
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Informiere dich mal über JOINs.
Mit Zitat antworten
  #3 (permalink)  
Alt 21-05-2010, 12:12
smyl
 Registrierter Benutzer
Links : Onlinestatus : smyl ist offline
Registriert seit: Sep 2002
Ort: Seeheim
Beiträge: 61
smyl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, denke konzeptionell habe ich es. Mal sehen, ob auch die Integration zum gewünschen Ergebnis führt.



Klar: Gibt einen Grund, weshalb das Thema "JOINS" fixiert ist. Also eine kleine Entschuldigung dafür, dass ich dem Artikel nicht die nötige Aufmerksamkeit geschenkt habe. Quadrate und Wurzeln sind etwas abgeschreckend ;-)

Im Laufe der Nutzung hat sich bei mir ein Folgeproblem ergeben für das ich bisher keine Lösung gefunden habe.

Ursprungsproblem:

Es gibt folgende Tabellen:
Personen (personen_id / name)
Eventteilnehmer (id / personen_id)

Ausgangssituation
: In der Tabelle Eventteilnehmer befindet sich ein Teil der Personen (verknüpft über personen_id).

Problem (Ziel): Ich möche jetzt herausfinden welche Personen noch nicht als Eventteilnehmer feststehen. Also sich noch nicht in Eventteilnehmer befinden

Lösung

PHP-Code:
SELECT Personen.name
FROM Personen
LEFT JOIN Eventteilnehmer USING 
(personen_id)
WHERE  Eventteilnehmer.personen_id IS NULL 
Folgeproblem:

Beide meine Tabellen haben jetzt zusätzliche Attribute. Eventteilnehmer können männlich oder weiblich sein. In der Tabelle Eventteilnehmer werden außerdem Eventteilnehmer für verschiedene Events aufgeführt.

Es gibt also folgende Tabellen:
Personen (personen_id / name / geschlecht [1/2])
Eventteilnehmer (id / personen_id / event_id)
Problem (Ziel): Ich möche jetzt herausfinden welche Männer (geschlecht=1) noch nicht als Eventteilnehmer bei einem bestimmten Event feststehen.

Folgende Abfrage führt leider nicht zum Ziel

PHP-Code:
SELECT Personen.name
FROM Personen
LEFT JOIN Eventteilnehmer USING 
(personen_id)
WHERE  Eventteilnehmer.personen_id IS NULL
AND Eventteilnehmer.event_id='1'
AND Personen.geschlecht='1' 
Mir ist bewusst, dass das Problem bei Eventteilnehmer.event_id='1' liegt, aber welchen Lösungsweg gibt es?



Ok, habe (glaube ich) die Lösung .

Einfach nach dem Stil:

PHP-Code:
LEFT JOIN table_name2
ON table_name1
.column_name=table_name2.column_name AND .... 
So passt das.

Geändert von AmicaNoctis (26-05-2010 um 02:05 Uhr) Grund: Mehrfachposting
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kann Fehler hier nicht finden,... Azadoras PHP Developer Forum 3 03-11-2007 13:50
Ähnliche EInträge finden fabs[NO] SQL / Datenbanken 3 20-05-2007 13:52
MySQL fehlende Einträge finden thesilencer5 SQL / Datenbanken 1 10-11-2006 17:38
[MySQL] Eine ID über mehrere Einträge finden Heavensdoor SQL / Datenbanken 13 21-06-2005 07:54
Warum sind hier leere Einträge möglich? spiciman PHP Developer Forum 3 29-04-2002 11:42

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:31 Uhr.