Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: podzapytanie + UNION
Forum PHP.pl > Forum > Bazy danych
beel
Witam!
Mam tabele:

STUDENT
student_id
name
sex


SCORE
student_id
event_id
score

EVENT
event_id
date
type

I teraz mam do wyświetlenia osobe która zdobyła najwiecej i osobe ktora zdobyla najmniej punktów, wiec:
  1. SELECT name, type, score, sex FROM student, score, event
  2. WHERE student.student_id=score.student_id AND event.event_id=score.event_id AND score=
  3.  
  4. (SELECT max(score) FROM score, event, student
  5. WHERE event.event_id=score.event_id)
  6.  
  7. UNION
  8.  
  9. SELECT name, type, score, sex FROM student, score, event
  10. WHERE student.student_id=score.student_id AND event.event_id=score.event_id AND score=
  11.  
  12. (SELECT min(score) FROM score, event, student
  13. WHERE event.event_id=score.event_id) ORDER BY score


I w efekcie jest wyświetlany poprawny wynik. (jakby ktos umial inaczej - prosciej to wykonac prosze zademonstrowac)
A teraz drugie zapytanie:
Który mężczyzna (oznaczenie 'M') uzsykał najwiecej z ktory najmniej punktów z testu (oznaczenie 'T'):

  1. SELECT name, type, score, sex FROM student, score, event
  2. WHERE student.student_id=score.student_id AND event.event_id=score.event_id AND sex='M' AND type='T' AND score=
  3.  
  4. (SELECT max(score) FROM score, event, student
  5. WHERE event.event_id=score.event_id)
  6.  
  7. UNION
  8.  
  9. SELECT name, type, score, sex FROM student, score, event
  10. WHERE student.student_id=score.student_id AND event.event_id=score.event_id AND sex='M' AND type='T' AND score=
  11.  
  12. (SELECT min(score) FROM score, event, student
  13. WHERE event.event_id=score.event_id) ORDER BY score

Prosze o wskazanie mi co jest źle w drugim zapytaniu bo mimo ze istenieja takie osoby nie wyświetla nic poza nazwami kolumn.

pzdr
envp
Może problem tkwi w tym, że nie masz w którejś z innych tabel odpowiedniej relacji z drugą. Zamiast WHERE polecam LEFT JOIN smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.