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

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 17.10.2003, 17:53:40
9536 9536 ist offline
Anfänger
 
Registriert seit: Sep 2003
Beiträge: 89
9536 eine Nachricht über ICQ schicken
Hilfe zu inner join

Bitte um Hilfe,

wer kann mir bei Mysql mit "inner join" helfen. Ich habe 2 Tabellen:

Tabelle 1:
kundennummer name plz wohnort strasse

Tabelle 2:
kundennummer artikel menge


Ich möchte nun in einer Ausgabeliste:

-name plz wohnort strasse artikel menge- ausgeben.

Kann mir bitte jemand einen Tip geben?
Muss ein bestehendes Script umändern, sonst hätte ich alles in eine
Tabelle gepackt.

Danke
__________________
Georg
Mit Zitat antworten
  #2  
Alt 17.10.2003, 18:17:38
lindic
Guest
 
Beiträge: n/a
ok, ich versuchs mal ohne 'inner join':

SELECT a.name, a.plz, a.wohnort, a.strasse, b.artikel, b.menge FROM tabelle1 a, tabelle2 b WHERE a.kundennummer=b.kundennummer

für tabelle1 und tabelle2 musst du natürlich noch die richtigen namen einsetzen.


gruß,
lindic
Mit Zitat antworten
  #3  
Alt 17.10.2003, 18:35:12
9536 9536 ist offline
Anfänger
 
Registriert seit: Sep 2003
Beiträge: 89
9536 eine Nachricht über ICQ schicken
Danke

Wusste garnicht das das auch so geht!!!!!
Prima, nochmals danke.
__________________
Georg
Mit Zitat antworten
  #4  
Alt 20.10.2003, 11:46:02
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
ganz schlechtes beispiel! so muß jeder datensatz durchsucht werden und kann nicht schon im voraus von mysql außer acht gelassen werden, wie es bei inner join passiert.hier die bessere lösung:
1. Tabelle "Kundendaten"
2. Tabelle "Artikel"
Code:
select kundendaten.name,kundendaten.wohnort,kundendaten.plz,kundendaten.strasse,artikel.name,count(artikel.qty) anzahl from kundendaten inner join artikel using(kundennummer) where kundendaten.kundennummer = 1 group by artikel.name;
Mit Zitat antworten
  #5  
Alt 20.10.2003, 12:14:45
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
@MiH

das Inner Join sollte er aber nur benutzen wenn, er alle Kunden haben will, egal ob sie schon was bestellt haben oder ned.

Wenn du nur die User haben willst, die was bestellt haben, wäre es so besser:
Code:
SELECT kunde.*, artikel.artikel, artikel.menge 
    FROM kundendaten as kunde
    LEFT JOIN artikel 
    ON (kunde.kundennummer = artikel.kundennummer)
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #6  
Alt 20.10.2003, 12:55:35
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
oh nein, das ist leider falsch NEV.
LEFT JON liefert dir ALLE datensätze zurück, die in der linken tabelle vorhanden sind. fehlt dieser in der rechten tabelle so wird NULL zurück geliefert.

Code:
SELECT kunde.*, artikel.artikel, artikel.menge 
    FROM kundendaten as kunde
    LEFT JOIN artikel 
    ON (kunde.kundennummer = artikel.kundennummer)
liefetr also jeden kunden, egal ob er was bestellt hat oder nicht. nur entweder kommt ein ergebnis oder das ergebnis ist NULL!

bei inner join werden nur die datensätze zurück geliefert, die in beiden tabellen vorkommen. das sind eben die unterschiede ;) aber diese sollte man schon kennen.
Mit Zitat antworten
  #7  
Alt 20.10.2003, 13:01:31
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
@MiH

stimmt hast recht, hab ich mich vertan!
BIG SORRY

Ich könnt jetzt a Ausrede ausdenken, aber ich glaube ich darf mich mal vertun. *fg*
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #8  
Alt 10.02.2004, 10:05:56
da-wandler da-wandler ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 30
join mit where

PHP-Code:
$Such_Artikel mysql($db,"SELECT art.*, kunden_preise.ArtikelNr,kunden_preise.MaterialNr FROM artikel as art LEFT JOIN kunden_preise ON (art.artikelnr = kunden_preise.ArtikelNr) WHERE artikelnr LIKE '%$suche%' OR suchbegriff LIKE '%$suche%' OR bezeichnung LIKE '%$suche%' OR bezeichnung2 LIKE '%$suche%' OR (KundenNr ='".$_SESSION["KundenNr"]."' AND MaterialNr LIKE '%$suche%')"); 
Hm...ich hoffe mal gleich wird es übersichtlicher..

Ich habe eure kommentare bzgl. der joins versucht umzusetzen scheitere allerdings bei where

ich habe folgendes vor:
ein suche soll artikel-daten aus der stamm-tabelle (artikel)liefern gleichzeitig soll eine individuelle kundentabelle mitdurchsucht werden (einige kunden benutzen andere artikelnummern = Materialnummer)

das ganze funktioniert prima, wenn ich nur ein OR habe (also z.b. bezeichung aus tab1 und materailnr in kombination mit kundennr aus tab2) wenn ich aber mehrere OR eingaben mache gibt´s nen error

PS: gibt es irgendwo ein tutorial zu joins? ehrlich gesagt versteh ich left/right/inner Using ON nämlich nicht wirklich...

besten dank, vorab!
Mit Zitat antworten
  #9  
Alt 10.02.2004, 14:56:49
da-wandler da-wandler ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 30
ok habs jetzt

ok habs jetzt...

ich musste in den OR´s natürlich auch angeben, welche tabelle genommen werden mus...:-)

wenn trotzdem noch jemand nen tipp bzgl. tutorial join .. wäre nicht abgeneigt...

ps: war mein frage eigentlich so blöd, unverständlich ..das niemand reagiert hat?
Mit Zitat antworten
  #10  
Alt 10.02.2004, 15:02:56
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi da-wandler

Erstmal Willkommen auf SelfPHP

ES GIBT KEINE BLÖDEN FRAGEN!! ;-)

Wegen der Reaktions-Zeit:
Die meisten hier sind Schüler (sorry wenn sich jetzt jemand auf den Schlipps getretten fühlt)
das heißt das sie ned gerade schnell antworten können.

Die anderen die Arbeiten, haben auch ständig was zu tun.

So kann es generell zu verzögerungen bei den Antworten kommen.


Wegen den Joins.
schau mal auf die Mysql-Seite.
Solltest was finden.
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
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


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


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


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