Bevorzugte Einträge auslesen

Bevorzugte Einträge auslesen

am 14.09.2006 08:51:21 von JonSchmidt

Guten Morgen,

stehe etwas auf dem Schlauch. Folgendes Problem: auf verschiedenen
Webs, die alle auf die selbe Tabelle zugreifen, können User bestimmte
Einträge machen. Jedes Web kann eine Kennung mitgeben, die beim
Eintragen in der DB gespeichert wird.

Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträge
mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
Knoten im Hirn, vielleicht kann grade jemand helfen?

Danke und Grüße,
Jon

Re: Bevorzugte Einträge auslesen

am 14.09.2006 09:06:30 von Kai Ruhnau

JonSchmidt wrote:
> stehe etwas auf dem Schlauch. Folgendes Problem: auf verschiedenen
> Webs, die alle auf die selbe Tabelle zugreifen, können User bestimmte
> Einträge machen. Jedes Web kann eine Kennung mitgeben, die beim
> Eintragen in der DB gespeichert wird.

Was ist ein Web? Jede mir bekannte Bedeutung beißt sich mit diesem Absatz.

> Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträge
> mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
> ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
> Knoten im Hirn, vielleicht kann grade jemand helfen?

Ich schau mal, ob meine Glaskugel gerade recht hat. Ansonsten musst du
genauer werden.

LEFT JOIN mit ORDER BY kennung.id IS NULL?

Grüße
Kai

Re: Bevorzugte Einträge auslesen

am 14.09.2006 09:20:08 von Christian Kirsch

Am 14.09.2006 09:06 schrieb Kai Ruhnau:
> JonSchmidt wrote:
>> stehe etwas auf dem Schlauch. Folgendes Problem: auf verschiedenen
>> Webs, die alle auf die selbe Tabelle zugreifen, können User bestimmte
>> Einträge machen. Jedes Web kann eine Kennung mitgeben, die beim
>> Eintragen in der DB gespeichert wird.
>
> Was ist ein Web? Jede mir bekannte Bedeutung beißt sich mit diesem Absatz.

Vielleicht meint er "Browser"?

>
>> Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträge
>> mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also

Sowas gibt es nicht. HTTP ist ein verbindungsloses Protokoll - Du
weißt also nicht, wo "ein User gerade surft". Du weißt nur, wo er bis
gerade eben war.

>> ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
>> Knoten im Hirn, vielleicht kann grade jemand helfen?
>

Wie Kai schon angedeutet hat, ist Deine (Jons) Beschreibung reichlich
unklar (und ich erkenne bislang auch keinen Bezug zu MySQL). Wie wäre
es, wenn Du die Ausgabe von CREATE TABLE postest, ein paar
Beispieldaten, das daraus gewünschte Ergebnis, und vielleicht noch
das, was Du versucht hast, ggfs. mit Fehlermeldung?

Re: Bevorzugte Einträge auslesen

am 14.09.2006 09:33:06 von JonSchmidt

Kai Ruhnau wrote:
> JonSchmidt wrote:
> > stehe etwas auf dem Schlauch. Folgendes Problem: auf verschiedenen
> > Webs, die alle auf die selbe Tabelle zugreifen, können User bestimmte
> > Einträge machen. Jedes Web kann eine Kennung mitgeben, die beim
> > Eintragen in der DB gespeichert wird.
>
> Was ist ein Web? Jede mir bekannte Bedeutung beißt sich mit diesem Absa=
tz.

Ein Web ist ein Internetportal / Internetsite / Homepage...

> > Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträ=
ge
> > mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
> > ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
> > Knoten im Hirn, vielleicht kann grade jemand helfen?
>
> Ich schau mal, ob meine Glaskugel gerade recht hat. Ansonsten musst du
> genauer werden.
>
> LEFT JOIN mit ORDER BY kennung.id IS NULL?
>
> Grüße
> Kai

Die Abfrage nach IS NULL funktioniert leider nicht, weil in allen
diesen Kennungsfeldern irgendein Wert steht.

Gruß Jon

Re: Bevorzugte Einträge auslesen

am 14.09.2006 10:14:58 von Kai Ruhnau

JonSchmidt wrote:
^^^^^^^^^^
Mach da mal ein Leerzeichen rein. Es gibt viele Teilnehmer hier die dich
wegen eines fehlenden Realnamens filtern.

> Kai Ruhnau wrote:
>> JonSchmidt wrote:
>>> stehe etwas auf dem Schlauch. Folgendes Problem: auf verschiedenen
>>> Webs, die alle auf die selbe Tabelle zugreifen, können User bestimmte
>>> Einträge machen. Jedes Web kann eine Kennung mitgeben, die beim
>>> Eintragen in der DB gespeichert wird.
>> Was ist ein Web? Jede mir bekannte Bedeutung beißt sich mit diesem Absatz.
>
> Ein Web ist ein Internetportal / Internetsite / Homepage...

Warum schreibst du das dann nicht?

>>> Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträge
>>> mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
>>> ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
>>> Knoten im Hirn, vielleicht kann grade jemand helfen?
>> Ich schau mal, ob meine Glaskugel gerade recht hat. Ansonsten musst du
>> genauer werden.
>>
>> LEFT JOIN mit ORDER BY kennung.id IS NULL?
>>
>> Grüße
>> Kai
>
> Die Abfrage nach IS NULL funktioniert leider nicht, weil in allen
> diesen Kennungsfeldern irgendein Wert steht.

Nein, so geht das nicht weiter. Wenn du Hilfe möchtest, dann sorge
dafür, dass man dir helfen kann. Ich habe keine Lust weiter in einer
trüben Suppe zu stochern, um vielleicht einen Hinweis für dich
herauszufischen.

Ich (ich denke sogar "wir") brauche:

CREATE TABLE der beteiligten Tabellen.
Eine kurze Beschreibung und die Zusammenhänge zwischen den relevanten
Feldern, wenn sie sich nicht automatisch aus dem Namen ergeben.
Dein bisherigen Versuche, dein Zeil zu erreichen, inklusive der
Fehlermeldungen bzw. der Abweichungen vom gewünschten Ergebnis.

Grüße
Kai

Re: Bevorzugte Einträgeauslesen

am 14.09.2006 10:45:21 von Sven Paulus

JonSchmidt wrote:
> Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträg=
e
> mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
> ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
> Knoten im Hirn, vielleicht kann grade jemand helfen?

.... ORDER BY (web_identifier !=3D "mein_web") ?

Re: Bevorzugte Einträge auslesen

am 14.09.2006 11:27:52 von JonSchmidt

Sven Paulus wrote:
> JonSchmidt wrote:
> > Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträ=
ge
> > mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
> > ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
> > Knoten im Hirn, vielleicht kann grade jemand helfen?
>
> ... ORDER BY (web_identifier !=3D "mein_web") ?

Ok, ich dachte, die grundsätzlichen Infos reichen für eine
Beschreibung des Problems. Nun habe ich weiter recherchiert und
folgenden Hinweis bekommen:

http://www.sqlteam.com/item.asp?ItemID=3D2209

Ich denke nicht, dass die Struktur der Tabelle irgendwie weiter
hilft.Wichtig ist doch nur, dass in der Tabelle ein Identifier steht,
der mit dem aktuellen Portal abgeglichen werden kann. Und dann möchte
ich, dass alle Einträge aller Portale ausgegeben werden, sortiert
nach: 1. Einträge des aktuellen Portals, 2. danach alle übrigen
Einträge der anderen Portale.

Meine Bisherigen ORDER BY Versuche haben leider immer nur die
Ergebnisse eines Portals ausgegeben. Ich checke jetzt mal den obigen
Link.

Danke für Eure Mühen! Nichts für ungut,
Gruß Jon

Re: Bevorzugte Einträgeauslesen

am 14.09.2006 12:07:26 von h.schroeck

Hi,

JonSchmidt schrieb am Donnerstag, 14. September 2006 11:27:

> Sven Paulus wrote:
>> JonSchmidt wrote:
>> > Nun möchte ich, dass beim Auslesen der Einträge diejenigen Einträge
>> > mit der Kennung des Webs, auf dem ein User grade surft, bevorzugt, also
>> > ganz oben, ausgelesen und gezeigt werden. Aber irgendwie habe ich
>> > Knoten im Hirn, vielleicht kann grade jemand helfen?
>>
>> ... ORDER BY (web_identifier != "mein_web") ?
>
> Ok, ich dachte, die grundsätzlichen Infos reichen für eine
> Beschreibung des Problems.

wohl nicht, da hier alle nur rumraten...

> Ich denke nicht, dass die Struktur der Tabelle irgendwie weiter
> hilft.Wichtig ist doch nur, dass in der Tabelle ein Identifier steht,
> der mit dem aktuellen Portal abgeglichen werden kann. Und dann möchte
> ich, dass alle Einträge aller Portale ausgegeben werden, sortiert
> nach: 1. Einträge des aktuellen Portals, 2. danach alle übrigen
> Einträge der anderen Portale.

das ist etwas anschaulicher...
entweder suchst Du UNION oder Du willst Dir für jedes Deiner
Portale eine Sortiertabelle anlegen, die Du dann joinst und nach
der Sortierspalte sortierst

hth
Holger

Re: Bevorzugte Einträgeauslesen

am 14.09.2006 13:15:24 von Sven Paulus

JonSchmidt wrote:
>> ... ORDER BY (web_identifier !=3D "mein_web") ?

> Ich denke nicht, dass die Struktur der Tabelle irgendwie weiter
> hilft.Wichtig ist doch nur, dass in der Tabelle ein Identifier steht,
> der mit dem aktuellen Portal abgeglichen werden kann.

Diesen Identifier habe ich oben mit "web_identifier" (ganz gemaess
Deiner Nomenklatur) bezeichnet.

> Und dann möchte ich, dass alle Einträge aller Portale ausgegeben
> werden, sortiert nach: 1. Einträge des aktuellen Portals, 2. danach
> alle übrigen Einträge der anderen Portale.

Wenn Dein aktuelles Portal "mein_web" heisst, evaluiert obiges fuer
alle Eintraege, bei denen web_identifier =3D "mein_web" ist zu 0, bei
denen, bei denen es ungleich ist, zu 1. 0 ist kleiner 1, also steht
es vorher. Das ist es doch, was Du willst?

> Meine Bisherigen ORDER BY Versuche haben leider immer nur die
> Ergebnisse eines Portals ausgegeben.=20

Hu? ORDER BY schraenkt nie Ergebnismengen ein?!