php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.02.2012, 04:57  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard [Erledigt] Join inner on left right auf ab k.a. )))

Hallo Leute,

neues Thema, muss gleich sagen, der Titel ist aus den Informationen entstanden, die ich sammeln konnte, solang ich versucht habe mein Problem zu lösen.

Also:

Ich hab zwei tabellen, tab1(A,B), tab2(A,C)

So jetzt brauche ich ein Query der mir im Klartext, einen t2.A WERT liefert wo es noch keine (t1.B = $B zusammen mit t2.A) gibt:
///
also den t2.A WERT der noch keine (referenz mit t1.B) in t1 hat.
Ich weiss einfach nicht wie die Bedingung lauten muss.

Mom ich versuchsmal mit OBST:

Stellt euch vor es steht ein Große Leere Kiste, und jeder Darf nur ein Obst stück mit seinem Namen da rein werfen, So und wir haben eine zweite Kiste wo es unendlich Obstsorten gibt, aber jeder darf je Sorte nur eine davon nehmen und in die andere Kiste reinwerfen.

Ich will wissen welche Obst sorten ich noch reinwerfen kann, anhang derer die schon schon reingeworfen wurden...(jetzt bitte nicht 'unendlich' sagen)

Sorry für die dämliche Frage Jungs und (Mädels) aber ich komm da einfach nicht dahinter....

wie ich die Bedingung schreibe
kosha ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.02.2012, 07:06  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Bevor du mit dem Obst angefangen hast, dachte ich ich hätte dich verstanden

Beim left join sind die Spalten von nicht vorhandenen Datensätzen mit NULL gefüllt also versuch mal das:

Code:
SELECT * FROM t2 LEFT JOIN t1 ON t1.A=t2.A WHERE t1.B = $B AND t2.A IS NULL
fab ist offline   Mit Zitat antworten
Alt 09.02.2012, 14:24  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

Probiere ich gleich aus, danke fab
kosha ist offline   Mit Zitat antworten
Alt 09.02.2012, 15:33  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

Neee, leider hat das nicht geklappt...

Noch mal Ich will nur die Datensätze aus tab2 , deren tab2.A KEINE Referenz ZUSAMMEN mit tab1.B = $B in tab1 hat.
Es können aber gleiche zusammen mit einer anderen tab1.B vorhanden sein.
Code:
SELECT * FROM t2 LEFT JOIN t1 ON t1.A=t2.A WHERE t1.B = $B AND t2.A IS NULL
Die Abfrage liefert mir halt ein leeres Ergebnis zurück, wenn noch gar kaine Referenzen für t2.A
in t1.A vorhanden sind, und das soll ja auch nicht sein.
kosha ist offline   Mit Zitat antworten
Alt 09.02.2012, 15:43  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Sorry, es war noch früh am Morgen. Gemeint war natürlich
Code:
t1 LEFT JOIN t2
Wenn dir der Unterschied nicht klar ist, solltest du hier mal vorbeischauen.
fab ist offline   Mit Zitat antworten
Alt 09.02.2012, 16:21  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

klappt nicht, denn wie ich vermute durch den Ausdruck ON t1.A = t2.A kann er mir keine Datensätze anzeigen, die noch garnicht in t1 vorhanden sind
das wäre mir aber egal hauptsache diese kommen nicht zusammen mit t1.B = $B vor, wenn es aber garkeine gibt sollen diese ja auch selectiert werden.
kosha ist offline   Mit Zitat antworten
Alt 09.02.2012, 16:24  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

denn die logic ist folgende:

Wenn es für den Benutzer $B noch keine Einträge zu t2.A in der tab1 exestieren, dann soll es dem Benutzer möglich sein diese auszuwählen um dann in die tab1 reinzusetzen.
Also nur die Einträge LADEN zu denen DIESER oder GAR KEINER in der tab1 eine REFERENZ hat

Geändert von kosha (09.02.2012 um 16:30 Uhr).
kosha ist offline   Mit Zitat antworten
Alt 09.02.2012, 17:46  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

Habs jetzt gelöst:

Code:
SELECT * FROM t2 LEFT JOIN t1 ON t1.A = t2.A WHERE t1.B != $B OR t1.A = t2.A IS NULL
entweder hat die referenz von A nix mit $B zutun oder Es gibt gar kein A..
kosha ist offline   Mit Zitat antworten
Alt 17.02.2012, 03:41  
Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 96
PHP-Kenntnisse:
Anfänger
kosha kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von kosha Beitrag anzeigen
Habs jetzt gelöst:

Code:
SELECT * FROM t2 LEFT JOIN t1 ON t1.A = t2.A WHERE t1.B != $B OR t1.A = t2.A IS NULL
entweder hat die referenz von A nix mit $B zutun oder Es gibt gar kein A..
Dies Hat nicht funktioniert...
die Lösung:
Code:
SELECT * FROM t2 WHERE a NOT IN (SELECT a FROM t1 WHERE b = $b)
kosha ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datenbankabfrage MYSQL Strukturproblem INNER JOIN Buschdieb Datenbanken 16 16.01.2012 15:02
[Erledigt] left join Funktioniert mit PHP nicht themonk PHP Einsteiger 13 12.08.2011 12:45
MySQL - LEFT JOIN Query aus mehreren Tabellen ~fransen~ Datenbanken 13 28.01.2011 18:49
Problem mit Abfrage - join, inner join, distinct? Gachet01 Datenbanken 2 27.01.2011 06:49
[Erledigt] Left Join 3 Tabellen mykosch Datenbanken 5 16.09.2010 14:51
Problem mit Mysql Left Join Ambfrage pro-tech Datenbanken 11 22.05.2010 10:59
[Erledigt] left join problem Bernd-m Datenbanken 9 24.08.2009 13:52
JOIN und LEFT JOIN verbinden? Dynamite53 Datenbanken 8 15.05.2009 15:16
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
[Erledigt] mit einer CHECKBOX feld nach mehreren wörtern durchsuchen taurus Datenbanken 20 01.12.2008 10:49
Select / Left Join Performance mark007q Datenbanken 4 17.11.2008 15:14
[Erledigt] Left join und inner join stefanjann Datenbanken 7 16.10.2008 15:45
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
inner join aus db PHP Tipps 2006 8 22.01.2006 01:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum