Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Sinan

Senior Schreiberling

  • "Sinan" is male
  • "Sinan" started this thread

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

1

Saturday, April 16th 2005, 3:36pm

SQL Übung 2

Hallo alle zusammen,
ich habe eine Frage, und zwar zur Aufgabe 1 Teil c:

wie weiß ich dass eine Person an einem Film z.B. als Schauspieler und Produzent gleichzeitig teilgenommen hat?

in part.mentioned steht über all actor

in part.part stehen Nummern, die diese Situation eindeutig idenzifizieren sollen.
Die Frage ist nur wie? dort stehen Zahlen von 1 bis 314 ?(
With great power comes great responsibility

This post has been edited 1 times, last edit by "Sinan" (Apr 16th 2005, 3:37pm)


Sinan

Senior Schreiberling

  • "Sinan" is male
  • "Sinan" started this thread

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

2

Saturday, April 16th 2005, 5:23pm

RE: SQL Übung 2

"Speed 2: Cruise Control" kann ich überhaupt nicht finden,
selbst die Anfrage
SELECT quote FROM quote WHERE quote like 'Speed%';
liefert keine Ergebnisse ?(
With great power comes great responsibility

radicarl

Junior Schreiberling

  • "radicarl" is male

Posts: 243

Date of registration: Oct 7th 2003

Location: H-Town

3

Saturday, April 16th 2005, 6:46pm

RE: SQL Übung 2

das ist auch kein Zitat sondern ein Film title, und da hast du dich ein wenig in der Tabelle vertan.
und in part.mentioned steht nicht immer nur actor, sondern auch mal producer, vielleicht hast du dir nicht alle Datensätze ausgeben lassen, (sind ne gnaze menge).

mich würde mal interssieren wie man ungefähr aufgabe d macht.

Shadow

... mit bunten Sternchen und so

  • "Shadow" is male

Posts: 838

Date of registration: Dec 21st 2001

Location: Hamburg

4

Sunday, April 17th 2005, 12:34am

RE: SQL Übung 2

Quoted

Original von Sinan
wie weiß ich dass eine Person an einem Film z.B. als Schauspieler und Produzent gleichzeitig teilgenommen hat?

Du musst die Tabelle PART zweimal verwenden.
Stichwort Self-Join.

Shadow - der gerne noch weitere Tipps gibt. Probier's aber erst mal selber.
"Man hält die Erzeugung von Information für ein Zeichen von Intelligenz, während in Wirklichkeit das Gegenteil richtig ist: Die Reduktion, die Auswahl der Information ist die viel höhere Leistung."
-- Heinz Zemanek

Shadow

... mit bunten Sternchen und so

  • "Shadow" is male

Posts: 838

Date of registration: Dec 21st 2001

Location: Hamburg

5

Sunday, April 17th 2005, 12:45am

RE: SQL Übung 2

Quoted

Original von radicarl
mich würde mal interssieren wie man ungefähr aufgabe d macht.

Ich habe die Tabellen MOVIE und RATING je zweimal in passender Weise miteinander gejoint, die beiden Klammern dann wieder passend gejoint und in der WHERE-Clause aus einer der beiden MOVIE-Tabellen nur eine Zeile ausgewählt:

Source code

1
2
3
SELECT [...]
FROM (movie sp2 NATURAL JOIN rating rsp2) [...]
WHERE sp2.title = 'Speed 2: Cruise Control' AND [...]

Also wieder Selfjoins, diesmal aber keine Equijoins.

HTH
Shadow
"Man hält die Erzeugung von Information für ein Zeichen von Intelligenz, während in Wirklichkeit das Gegenteil richtig ist: Die Reduktion, die Auswahl der Information ist die viel höhere Leistung."
-- Heinz Zemanek

This post has been edited 1 times, last edit by "Shadow" (Apr 17th 2005, 12:48am)


radicarl

Junior Schreiberling

  • "radicarl" is male

Posts: 243

Date of registration: Oct 7th 2003

Location: H-Town

6

Sunday, April 17th 2005, 12:08pm

habs dann auch hinbekommen, aber danke

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

7

Wednesday, April 20th 2005, 11:01pm

Ich hab das jetzt noch nicht so ganz verstanden?! Das Problem ist irgendwie an das Rating von 3.2 zu kommen... Wer nett, wenn mir noch jemand einen Denkanstoß geben würde.

Edit: Mit den Hinweisen von Shadow hab ich jetzt soch selbst den Ansatz schon mal bekommen, thx erstmal

Edit2: Hab doch noch ein Problem, und zwar mit dem Rating UND der Anzahl Votes, hab das jetzt mit zweimal hinternander join versucht, aber dann bekomm ich zu jedem Film ja mehrfache votes und das war ja nicht sinn der sache
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 2 times, last edit by "Markus" (Apr 20th 2005, 11:52pm)


thommyslaw

Junior Schreiberling

  • "thommyslaw" is male

Posts: 226

Date of registration: Oct 7th 2003

8

Thursday, April 21st 2005, 1:24am

ich krieg bei aufgabe 1b) 9 datensätze.
kann das jmd. bestätigen?

wk2001

Praktikant

  • "wk2001" is male

Posts: 25

Date of registration: Nov 3rd 2003

Location: Hannover (Mitte)

9

Thursday, April 21st 2005, 8:35am

Quoted

Original von thommy
ich krieg bei aufgabe 1b) 9 datensätze.
kann das jmd. bestätigen?


jep, stimmt

6oeser6u6e

Junior Schreiberling

  • "6oeser6u6e" is male

Posts: 217

Date of registration: Mar 10th 2004

Location: Wolfsburg; Wohnort: Hannover-Nordstadt

Occupation: um Abstand zu der dämlichen Masse zu gewinnen... naja und wegen Geld ;P

10

Thursday, April 21st 2005, 2:26pm

zu 1b)
ist das denn mit Natural Joins oder Using möglich?
Ich hab da immer fehler bekommen und es jetzt nur mit ON hinbekommen...
Unwissenheit ist ein Segen

Benjamin

Segelnder Alter Hase

  • "Benjamin" is male

Posts: 3,827

Date of registration: Oct 1st 2002

Location: Region Hannover

Occupation: Alumni

11

Thursday, April 21st 2005, 2:49pm

Quoted

Original von 6oeser6u6e
zu 1b)
ist das denn mit Natural Joins oder Using möglich?
Ich hab da immer fehler bekommen und es jetzt nur mit ON hinbekommen...


NATURAL JOIN verbindet über alle gleichnamigen Spalten.

JOIN USING ist dazu da, um quasi sowas wie NATURAL zu machen, aber nicht über alle gleichnamigen Spalten zu joinen.
z.B. wenn man in beiden die Spalten movie und country hat, aber country Inhalte verschiedener Bedeutung hat, über die nicht gejoint werden darf.

ON nimmt man eigentlich nur, wenn die Join-Spalten verschiedenen Namen haben. Dies ist hier nicht der Fall. Es geht ganz ohne ON.

Ja, die Aufgabe geht ganz ohne ON
Es gibt nur eine bessere Sache als auf dem Wasser zu sein: Noch mehr auf dem Wasser sein.

6oeser6u6e

Junior Schreiberling

  • "6oeser6u6e" is male

Posts: 217

Date of registration: Mar 10th 2004

Location: Wolfsburg; Wohnort: Hannover-Nordstadt

Occupation: um Abstand zu der dämlichen Masse zu gewinnen... naja und wegen Geld ;P

12

Thursday, April 21st 2005, 2:54pm

Aaaaah! *Licht aufgeh*
danke schön für die schnelle antwort!
Unwissenheit ist ein Segen

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

13

Thursday, April 21st 2005, 6:16pm

wie bekomme ich denn bei d die werte eines anderen films heraus um diese im WHERE statement zu verwenden?

radicarl

Junior Schreiberling

  • "radicarl" is male

Posts: 243

Date of registration: Oct 7th 2003

Location: H-Town

14

Thursday, April 21st 2005, 6:41pm

ich weiß nicht genau was du meinst, aber du musst die movie tabelle einfach 2 mal verwenden (mit entsprechend anderen namen)

Shadow

... mit bunten Sternchen und so

  • "Shadow" is male

Posts: 838

Date of registration: Dec 21st 2001

Location: Hamburg

15

Thursday, April 21st 2005, 7:05pm

Quoted

Original von Markus
Edit2: Hab doch noch ein Problem, und zwar mit dem Rating UND der Anzahl Votes, hab das jetzt mit zweimal hinternander join versucht, aber dann bekomm ich zu jedem Film ja mehrfache votes und das war ja nicht sinn der sache

Hm.
Vielleicht mit "AND"? ;)
"Man hält die Erzeugung von Information für ein Zeichen von Intelligenz, während in Wirklichkeit das Gegenteil richtig ist: Die Reduktion, die Auswahl der Information ist die viel höhere Leistung."
-- Heinz Zemanek

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

16

Thursday, April 21st 2005, 8:09pm

zu 1c:
wie vereine ich mehrere spalten? zwei gleiche tabellen zu joinen machts nich so...

EnteTaylor

Trainee

  • "EnteTaylor" is male

Posts: 111

Date of registration: Oct 24th 2003

Location: Göttingen

Occupation: weil's toll is

17

Thursday, April 21st 2005, 8:10pm

Quoted

wie bekomme ich denn bei d die werte eines anderen films heraus um diese im WHERE statement zu verwenden?


Du musst in das WHERE Statement einen "inneren" SELECT Befehl einbauen, der ausschließlich den Wert enthält:

...WHERE votes>=(SELECT ... WHERE title='...')

(ich glaube, du meintest das..)

Quoted

zu 1c:
wie vereine ich mehrere spalten? zwei gleiche tabellen zu joinen machts nich so...


Da hab ich ein self-join verwendet:
... part a JOIN part p ON(p.mentioned='..' AND a.mentioned='..')

könnte mir aber vorstelln, dass es noch einfacher geht.
Meine Gedächtnisprotokolle: www.janwy.de

This post has been edited 1 times, last edit by "EnteTaylor" (Apr 21st 2005, 8:15pm)


mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

18

Thursday, April 21st 2005, 8:14pm

ach, die möglichkeit eines inneren SELECT war mir noch gar nicht in den kopf gekommen... prima!

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male

Posts: 226

Date of registration: Oct 7th 2003

19

Thursday, April 21st 2005, 8:29pm

Quoted

Original von mDev
ach, die möglichkeit eines inneren SELECT war mir noch gar nicht in den kopf gekommen... prima!
ich glaub die aufgaben sollten nicht mit inneren SELECTs gelöst werden, siehe einleitung.
korrigiert mich, wenn ich falsch liege.

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

20

Thursday, April 21st 2005, 8:45pm

also bei 1c fehlt mir einfach der trick... wie bekomme ich raus, welcher schauspieler auch produzent ist?