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

TYPO3 Kochbuch

TYPO3 Kochbuch 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.09.2007, 14:36:00
elwood elwood ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 1
Denkfehler oder etwas Besonderes bei MySQL ?

Hallo,

stelle gerade eine Anwendung von Paradox auf MySQL um (hätte ich schon früher machen sollen :-) ).
Wer kann mir denn bei folgendem Statement helfen.

Es wird aus einer Abfragemaske generiert, deshalb vielleicht nicht besonders elegant.
Soll eine "UND-Verknüpfung" sein.

select KU_KEY
from KU_AKTION
where
( KA_AK_KEY = 1)
AND
( KA_AK_KEY = 2)

KU_KEY und KA_AK_KEY sind Fremdschlüssel, die mehrmals vorkommen können, und gesucht sind diejenigen KU_KEY´s, die sowohl mit KA_AK_KEY = 1 als auch KA_AK_KEY = 2 vorkommen.

Dass das obige Statement kein Ergebnis bringt, ist mir schon klar - soll mehr als Vorlage dienen.

Vielen Dank, Uli

Geändert von elwood (14.09.2007 um 15:53:55 Uhr)
Mit Zitat antworten
  #2  
Alt 14.09.2007, 16:39:21
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Zitat:
Zitat von elwood Beitrag anzeigen
Hallo,

stelle gerade eine Anwendung von Paradox auf MySQL um (hätte ich schon früher machen sollen :-) ).
Wer kann mir denn bei folgendem Statement helfen.

Es wird aus einer Abfragemaske generiert, deshalb vielleicht nicht besonders elegant.
Soll eine "UND-Verknüpfung" sein.

select KU_KEY
from KU_AKTION
where
( KA_AK_KEY = 1)
AND
( KA_AK_KEY = 2)

KU_KEY und KA_AK_KEY sind Fremdschlüssel, die mehrmals vorkommen können, und gesucht sind diejenigen KU_KEY´s, die sowohl mit KA_AK_KEY = 1 als auch KA_AK_KEY = 2 vorkommen.

Dass das obige Statement kein Ergebnis bringt, ist mir schon klar - soll mehr als Vorlage dienen.

Vielen Dank, Uli

PHP-Code:
$sql "SELECT ku_key 
        FROM ku_aktion 
        WHERE bedingnung1 = true/false or/and bedingung2 = true/false" 
... und wo ist da das Problem?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

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
  #3  
Alt 19.09.2007, 08:53:46
Phil Phil ist offline
Anfänger
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 75
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Eine LÖsung für dieses Problem würde mich auch interessieren!

also nicht:
PHP-Code:
$sql "SELECT ku_key 
FROM ku_aktion 
WHERE bedingnung1 = true/false or/and bedingung2 = true/false" 
sondern:
PHP-Code:
$sql "SELECT ku_key 
FROM ku_aktion 
WHERE bedingnung1 = true/false and bedingung1 = true/false" 
z.B möchte ich aus der Tabelle im Bild (Anhang) bei gegebenem 'form_element_name' und zugehörigem 'Inhalt' alle Nutzer per Select erhalten di ein einem oder mehreren 'form_element_name' einen bestimmten 'Inhalt' haben. Also umschrieben
PHP-Code:
/*
SELECT benutzer_idbenutzer 
FROM table 
WHERE (form_element_name = "aee28512aa6c7ff0dccc40f42373090e" AND inhalt = "Textfeld")
AND (form_element_name = "f7bdd8c947b0f6086a14426b17a4716d" AND inhalt = "dritte Box")
*/ 
Wie gesagt das soll nur das umschreiben, was ich erhalten möchte. Wie bekomme ich es hin sowas mit einer Abfrage zu erhalten, ohne die "benutzer_idbenutzer" vorzugeben. Die Ausweichlösung wäre alle benutzer auszulöesen und für jeden Benutzer diese Abfrage zu machen Aber das ist nicht gerade schön bzw auch nicht performant, wenn es erstmal ein paar tausend benutzer sind.

Vielen Dank schonmal
Phil
Mit Zitat antworten
  #4  
Alt 19.09.2007, 08:55:05
Phil Phil ist offline
Anfänger
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 75
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Sorry hab das Bild vergessen :)
Miniaturansicht angehängter Grafiken
table.jpg  
Mit Zitat antworten
  #5  
Alt 19.09.2007, 09:05:45
diver-network diver-network ist offline
Junior Member
 
Registriert seit: Apr 2003
Ort: TÜ
Beiträge: 337
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Hi,

zwei Vorschläge zur Lösung Deines Problems:

Vorschlag 1)
Code:
select KU_KEY
from KU_AKTION
where KA_AK_KEY = 1
UNION
select KU_KEY
from KU_AKTION
where KA_AK_KEY = 2
eventuell ist UNION ALL besser, das musst Du aber entscheiden. Les' in jedem Fall die Doku zu UNION, damit Du verstehst, was das Statement macht!!

Vorschlag 2)
Du führst hintereinander beide SELECTs durch und fügst die Resultate in Deinem Anwendungscode zusammen.


HTH,

Andy

P.S.: UNION ist nicht bei allen MySQL Versionen möglich!
__________________
Delphine, Wale, Orcas und mee(h)r:
tauchen in Alor/Indonesien
http://www.alor-dive.com
Mit Zitat antworten
  #6  
Alt 19.09.2007, 10:30:29
Phil Phil ist offline
Anfänger
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 75
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Hey diver,

PHP-Code:
select KU_KEY
from KU_AKTION
where KA_AK_KEY 
1
UNION
select KU_KEY
from KU_AKTION
where KA_AK_KEY 

Bildet ja aber nicht das AND ab sondern entsprciht nem OR oder nicht?

PHP-Code:
select distinct KU_KEY
from KU_AKTION
where KA_AK_KEY 
1
or
where KA_AK_KEY 
Mit Zitat antworten
  #7  
Alt 19.09.2007, 12:49:39
diver-network diver-network ist offline
Junior Member
 
Registriert seit: Apr 2003
Ort: TÜ
Beiträge: 337
AW: Denkfehler oder etwas Besonderes bei MySQL ?

Hi Phil,

stimmt, da hast Du recht.
Sorry für meinen Denkfehler.

Aber Du wirst Dein Problem nicht lösen können, da es keinen Eintrag geben kann, der in einer Zeile im selben Feld verschiedene Werte hat.
Das wäre das selbe, wie wenn Du in einem Laden sagen würdest "geb mir den Würfel, der sowohl rund als auch eckig ist".

Was eventuell ginge wäre eine Abfrage mit LIKE.
Also:
Code:
SELECT ...
FROM tabelle
WHERE feld LIKE '%a%' AND feld LIKE '%b%'.
Eventuell geht es auch mit
Code:
SELECT ...
FROM tabelle
WHERE feld LIKE 'a' AND feld LIKE 'b'
, wobei ich dies nicht glaube, da LIKE meiner Meinung nach einen Platzhalter an mindestens einer Stelle benötigt. Kann mich aber da auch täuschen ==> ausprobieren ;-)

Nachteil: Du bekommst halt auch Einträge mit "abc".

Mit ... WHERE feld = 'a' AND feld = 'b' bekommst Du nie ein Resultat.

HTH und sorry für meinen anfänglichen Denkfehler,

Andy
__________________
Delphine, Wale, Orcas und mee(h)r:
tauchen in Alor/Indonesien
http://www.alor-dive.com
Mit Zitat antworten
  #8  
Alt 19.09.2007, 13:15:32
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Denkfehler oder etwas Besonderes bei MySQL ?

self-join über die tabelle ist hier das stichwort.

alternative: statt mit union sollte man mit intersect arbeiten.

also ich lös sowas so:

SELECT DISTINCT t1.KU_KEY
from KU_AKTION t1 JOIN KU_AKTION t2 ON t1.KU_KEY = t2.KU_KEY
where
( t1.KA_AK_KEY = 1)
AND
( t2.KA_AK_KEY = 2)

unsichere alternative, da noch nie gemacht:

(select KU_KEY
from KU_AKTION
where
KA_AK_KEY = 1)
INTERSECT
(select KU_KEY
from KU_AKTION
where
KA_AK_KEY = 2)

Geändert von feuervogel (19.09.2007 um 13:16:33 Uhr)
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
Mysql startet nicht oberonal MySQLi/PDO/(MySQL) 3 24.11.2006 09:41:31
MySQL Page Script. Problem. dtone MySQLi/PDO/(MySQL) 8 15.10.2006 14:58:06
MYSQL via Apache (XAMPP) Access denied Christel MySQLi/PDO/(MySQL) 12 30.04.2005 08:55:42
mySQL DB erstellen und unter PHP nutzen norial MySQLi/PDO/(MySQL) 1 25.10.2004 11:01:29
MySQL - ORDER BY RAND() und PHP MacMarc PHP Grundlagen 15 05.12.2002 22:23:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:53:57 Uhr.


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


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