Fehlende relationen

Fehlende relationen

am 26.12.2005 00:56:46 von DengejaaUveso

Per

SELECT `talk_no` , max( dates_date )
FROM talks, dates
WHERE talk_no = dates_talk
GROUP BY dates_talk
LIMIT 0 , 200


bekomme ich hin welche Präsentation wann als letztes gemacht/geplant
war.

Allerdings ist mir gar nicht klar wie ich per mysql herausfinden kann
welche talk_no in Tabelle talks es gibt für die es kein dates_talk in
der Tabelle dates gibt.

Den einzigen Ansatz den ich sehe wäre das Ergebniss des obigen Queries
in einen neuen Query zu schreiben bei dem ich alle talk_no suche die
nicht in der Aufzählung dabei sind.

Das geht bei 175 Datensätze gerade noch gut, allerdings gibt es da
irgentwo eine Grenze bei der das nicht mehr geht.

Was habe ich dabei übersehen?

cu

Markus
--
Psychiatrists say that 1 of 4 people are mentally ill.
Check 3 friends. If they're OK, you're it.

Re: Fehlende relationen

am 26.12.2005 01:21:54 von Claudio Carobolante

Markus G. Klötzer schrieb:

> Per
>
> SELECT `talk_no` , max( dates_date )
> FROM talks, dates
> WHERE talk_no = dates_talk
> GROUP BY dates_talk
> LIMIT 0 , 200
>
>
> bekomme ich hin welche Präsentation wann als letztes gemacht/geplant
> war.
>
> Allerdings ist mir gar nicht klar wie ich per mysql herausfinden kann
> welche talk_no in Tabelle talks es gibt für die es kein dates_talk in
> der Tabelle dates gibt.

SELECT talk_no
FROM talks LEFT JOIN dates ON talk_no=dates_talk
WHERE dates_talk IS NULL

cc

Re: Fehlende relationen

am 26.12.2005 08:26:30 von DengejaaUveso

Claudio Carobolante wrote:

> Markus G. Klötzer schrieb:
>
>> Per
>>
>> SELECT `talk_no` , max( dates_date )
>> FROM talks, dates
>> WHERE talk_no = dates_talk
>> GROUP BY dates_talk
>> LIMIT 0 , 200
>>
>>
>> bekomme ich hin welche Präsentation wann als letztes gemacht/geplant
>> war.
>>
>> Allerdings ist mir gar nicht klar wie ich per mysql herausfinden kann
>> welche talk_no in Tabelle talks es gibt für die es kein dates_talk in
>> der Tabelle dates gibt.
>
> SELECT talk_no
> FROM talks LEFT JOIN dates ON talk_no=dates_talk
> WHERE dates_talk IS NULL
>
> cc

Hinterher ist das ganz Logisch :-)


Danke



mgk
--
"The vast majority of our imports come from outside the country."
- George W. Bush

Re: Fehlende relationen

am 28.12.2005 11:36:39 von DengejaaUveso

Claudio Carobolante wrote:

> Markus G. Klötzer schrieb:

>>
>> Allerdings ist mir gar nicht klar wie ich per mysql herausfinden kann
>> welche talk_no in Tabelle talks es gibt für die es kein dates_talk in
>> der Tabelle dates gibt.
>
> SELECT talk_no
> FROM talks LEFT JOIN dates ON talk_no=dates_talk
> WHERE dates_talk IS NULL
>


Jetzt waere noch interresant herrauszufinden, ob man so ein Ergebniss
auch ohne einer zweiten Tabelle haben kann.

Speziell: Ich have ein ARRAY von IDs von denen ich wissen will welches
noch keinen Eintrag in der DB hat.

Ich könnte sie zussammen mit einer Zusatzinfo in die Tabelle schreiben
(Duplikate wuerden unter den Tisch fallen) und dann anhand der
Zusatzinfo wieder selektieren.


TIA


mgk
--
Korpela's 42 Laws about Usenet:
35. There are no simple questions, just people who forgot
to ask their real question.
http://www.cs.tut.fi/~jkorpela/usenet/laws.html

Re: Fehlende relationen

am 30.12.2005 13:14:21 von Claudio Carobolante

Markus G. Klötzer schrieb:
> Claudio Carobolante wrote:
>> Markus G. Klötzer schrieb:
>>>
>>> Allerdings ist mir gar nicht klar wie ich per mysql herausfinden kann
>>> welche talk_no in Tabelle talks es gibt für die es kein dates_talk in
>>> der Tabelle dates gibt.
>>
>> SELECT talk_no
>> FROM talks LEFT JOIN dates ON talk_no=dates_talk
>> WHERE dates_talk IS NULL
>
> Jetzt waere noch interresant herrauszufinden, ob man so ein Ergebniss
> auch ohne einer zweiten Tabelle haben kann.

Ja. Du kannst die Tabelle mit Aliasnamen versehen und so vorgehen wie oben
beschrieben.

> Speziell: Ich have ein ARRAY von IDs von denen ich wissen will welches
> noch keinen Eintrag in der DB hat.

Jetzt weiss ich nicht, was Du meinst. Hast Du eine Tabelle mit ID's, z.B
mit den Werten 1,2,3,4 und möchtest als Ergebnis 5,6,7,8,...? Gebe doch
bitte ein Beispiel.

cc

Re: Fehlende relationen

am 30.12.2005 14:33:11 von DengejaaUveso

Claudio Carobolante wrote:


>
>> Speziell: Ich have ein ARRAY von IDs von denen ich wissen will welches
>> noch keinen Eintrag in der DB hat.
>
> Jetzt weiss ich nicht, was Du meinst. Hast Du eine Tabelle mit ID's, z.B
> mit den Werten 1,2,3,4 und möchtest als Ergebnis 5,6,7,8,...? Gebe doch
> bitte ein Beispiel.
>
> cc


Ich lese UIDLs von Emails vom Server, und will abgleichen welche ich
noch nicht verarbeitet habe.

Die Tabelle hat als index `uid_UID` und die UIDs die ich vom
Emailserver bekomme sollten in eine Query.

Als Ergebniss haette ich gerne die UIDLs die noch nicht in der Tabelle
sind.

Akademisch im Moment, da ich die Applikation jetzt ueber "INSERT
IGNORE" mache, was den Vorteil hat das ich Emails nach Eingang
abarbeiten kann, ohne alles auf einmal zu machen.

Aber ich kann mir genuegend Anwendungen vorstellen in denen es
Praktisch waere.

Warenangebot von der Lieferfirma - gibt es neue Produktnummern?
Also alles wo der interne Datenbestand mit einem externen verglichen
werden muss.

cu

mgk
--
"Das Spiel Bayern München gegen Werder Bremen fällt heute wegen einer
Spielerstörung leider aus. Zuschauer betrachten bitte das Spiel Klein
Kleckersdorf gegen TuS Hintertupfingen auf Nebenplatz 2. Dieses Spiel
darf heute ausnahmsweise auch mit Stehplatzkarten gesehen werden" :-)

Re: Fehlende relationen

am 30.12.2005 15:15:52 von Claudio Carobolante

Markus G. Klötzer schrieb:
> Claudio Carobolante wrote:

>>> Speziell: Ich have ein ARRAY von IDs von denen ich wissen will welches
>>> noch keinen Eintrag in der DB hat.
>>
>> Jetzt weiss ich nicht, was Du meinst. Hast Du eine Tabelle mit ID's,
>> z.B mit den Werten 1,2,3,4 und möchtest als Ergebnis 5,6,7,8,...? Gebe
>> doch bitte ein Beispiel.
>
> Ich lese UIDLs von Emails vom Server, und will abgleichen welche ich
> noch nicht verarbeitet habe.
>
> Die Tabelle hat als index `uid_UID` und die UIDs die ich vom
> Emailserver bekomme sollten in eine Query.
>
> Als Ergebniss haette ich gerne die UIDLs die noch nicht in der Tabelle
> sind.

So hast Du doch auch zwei Tablellen. Eine in der alle UID's stehen, die Du
bearbeiten müsstest (die UID's aller eingegangenen Mails) und eine
Tabelle mit den UID's, die Du bearbeitet hast. Du kannst ummöglich
meinen, dass Du alle UID's wissen willst, die irgendwann einmal mei Dir
eintreffen könnten, oder doch?

> Akademisch im Moment [...]

Dann ist ja noch Zeit, über das Konzept nachzudenken.

Alles Gute für's neue Jahr, allen in dieser Gruppe.

cc

Re: Fehlende relationen

am 30.12.2005 23:42:14 von DengejaaUveso

Claudio Carobolante wrote:

> So hast Du doch auch zwei Tablellen.

hmm, eigentlich nur eine. Ausser du meinst die anderen Daten in eine
temp Tabelle zu schreiben?

cu

mgk
--
"You are in an ongoing process of becoming, growing, and
developing in the direction of your dominant thoughts.
What are they?" -- Brian Tracy