Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
MySQL, resultat direkt im Query nutzen? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
MySQL, resultat direkt im Query nutzen?


 
fabio
09-07-2010, 18:28 
 
Hi

Ich versuche gerade, ein Script für die Auswahl von Artikeln zu machen.
Die Tabelle mit den Haupt- und Unterkategorien sieht wie folgt aus:
http://idisk.me.com/fabiopigi/Public/Pictures/Skitch/kategorien-20100709-172023.png

Die Hauptkategorien sind vielfache von 1000, die Unterkategorien sind einfach die Nummern innerhalb dieses 1000-er Block.

Die Nummern innerhalb der 1000-er Blocke sind nicht so wichtig, dass sie korrekt aufeinanderfolgend sind (2002,2003,2008 zB), da sie lediglich für die Sortierung zuständig sind.

Was ich nun versucht habe, aber gescheitert bin, ist ein einziger Query zu machen, wo man die Unterkategorien bekommt, und zwar anhand einer ID.


Sprich, gebe ich dem Query die kat_id 7 (Taschen), sollte er mir als Ergebnis "20,21,23" herausgeben.

Machbar wäre dies, indem man zuerst die kat_sort abfrägt und danach alle kat_id ausliest welche im gleichen 1000-er Block sind.
In zwei getrennten MySQL Abfragen wäre es für mich leicht machbar, ich würde aber der Einfachhalber und der Performance wegen lieber einen einzelnen Query haben.

Weiss jemand wie ich so etwas zu Stande bringen könnte?


Besten Dank
Fabio

 
AmicaNoctis
09-07-2010, 18:43 
 
Hallo,

lies dir mal im MySQL-Handbuch das Kapitel über Joins durch. Wenn du die Grundlagen hast, kannst du mit einer Google-Suche nach „self join“ Beispiele und Erklärungen finden, die unmittelbar auf dein Problem passen.

Gruß,

Amica

 
wahsaga
09-07-2010, 18:46 
 
Statt zwei Queries einfach eine Subquery verwenden.


Ein vernünftiges Datenmodell ist das aber eher nicht.

 
AmicaNoctis
09-07-2010, 18:50 
 
Ein vernünftiges Datenmodell ist das aber eher nicht.

Sehe ich auch so. Du kannst ja mal nach „nested sets“ googlen.

 
fabio
13-07-2010, 21:04 
 
Danke an euch beide, ich werde die Sache mal durchlesen wenn ich Zeit habe.


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