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 Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 04-02-2008, 23:01
tiff
 Registrierter Benutzer
Links : Onlinestatus : tiff ist offline
Registriert seit: Nov 2006
Beiträge: 31
tiff ist zur Zeit noch ein unbeschriebenes Blatt
Standard ...WHERE a_id = 'A' AND a_id = 'B'?

Hi,

ich steh gerade auf dem Schlauch.

Meine Tabelle 'test' sieht folgendermaßen aus:

PHP-Code:
+------+------+
p_id a_id |
+------+------+
1    A    |
2    A    |
3    A    |
1    B    |
2    C    |
+------+------+ 
Das Ziel ist es nun alle p_id's zu bekommen, die, die a_id 'A' UND 'B' haben (Ergebnis in diesem Fall: p_id 1!)

Wie lautet die Abfrage?

SELECT p_id FROM test WHERE ...?

Vielen Dank im vorraus.

Beste Grüße,
Tiff
Mit Zitat antworten
  #2 (permalink)  
Alt 04-02-2008, 23:14
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

select p_id from test where a_id in ('A','B');

so vielleicht?
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #3 (permalink)  
Alt 04-02-2008, 23:37
tiff
 Registrierter Benutzer
Links : Onlinestatus : tiff ist offline
Registriert seit: Nov 2006
Beiträge: 31
tiff ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Bugbuster
select p_id from test where a_id in ('A','B');

so vielleicht?
Danke, leider nicht. Mit der Methode IN schaut er welche p_id's die att_id 'A' ODER 'B' haben. Das heißt, dass er mir alle p_ids ausgibt.
Mit Zitat antworten
  #4 (permalink)  
Alt 04-02-2008, 23:54
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

achso meinste sowas:

PHP-Code:
SELECT p_id FROM `testwhere a_id 'A' and p_id in (select p_id from test where a_id ='B'
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!

Geändert von Bugbuster (05-02-2008 um 00:01 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 05-02-2008, 00:02
tiff
 Registrierter Benutzer
Links : Onlinestatus : tiff ist offline
Registriert seit: Nov 2006
Beiträge: 31
tiff ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sehr gut, klappt schonmal ...und was ist wenn weitere Felder hinzukommen also:

PHP-Code:
+------+------+
p_id a_id |
+------+------+
1    A    |
2    A    |
3    A    |
1    B    |
2    C    |
1    C    |
+------+------+ 
Jetzt möchte ich alle p_id's, die, die, a_id 'A', 'B' und 'C' haben?
Wie würde deine Lösung hierfür aussehen?

Ist dein Code wirklich die einzige Möglichkeit; gibt es nicht noch einen simpleren Weg?
Mit Zitat antworten
  #6 (permalink)  
Alt 05-02-2008, 00:07
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wie würde deine Lösung hierfür aussehen?
na dann streng ma dein köpfchen an ... andere leute geben mir dafür geld wenn ich ihnen das essen vorkaue

Zitat:
gibt es nicht noch einen simpleren Weg?
viele wege führen nach rom. es gibt sicherlich noch performantere lösungen ... da ich aber hauptsächlich mit oracle 8i Datenbanken arbeite ist mein Wissenschatz da etwas eingeschränkt.

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #7 (permalink)  
Alt 05-02-2008, 00:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Eigene Ansätze???
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 05-02-2008, 00:08
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Eigene Ansätze???
*in übereinstimmung*
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!
Mit Zitat antworten
  #9 (permalink)  
Alt 05-02-2008, 00:10
tiff
 Registrierter Benutzer
Links : Onlinestatus : tiff ist offline
Registriert seit: Nov 2006
Beiträge: 31
tiff ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry bugbuster

PHP-Code:
SELECT DISTINCT p_id
FROM test
WHERE p_id
IN 
(

SELECT p_id
FROM test
WHERE a_id 
'A'
)
AND 
p_id
IN 
(

SELECT p_id
FROM test
WHERE a_id 
'B'
)
AND 
p_id
IN 
(

SELECT p_id
FROM test
WHERE a_id 
'C'

...trotzdem: Einziger Lösungsweg?

Geändert von tiff (05-02-2008 um 00:20 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 05-02-2008, 00:58
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

SELECT t1.p FROM test t1
JOIN test t2 ON t1.p = t2.p AND t2.a = 'b'
JOIN test t3 ON t1.p = t3.p AND t3.a = 'c'
WHERE t1.a = 'a'
Mit Zitat antworten
Antwort

Lesezeichen


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

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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

13.03.2019 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
Lazy Load Plugin für jQuery

Das Lazyload Plugin, lädt Bilder nach, wenn sie im Viewport sichtbar werden.

10.03.2019 phpler | Kategorie: JQUERY-PLUGINS
WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:51 Uhr.