SQL ŁĄCZENIE TABEL

0

Cześć wszystkim,
Mam pewien problem z którym nie mogę sobie od 4h poradzić, otóż:

  • Mam 3 tabele KRAJ, ZWIERZETAZOO, ZWIERZETAZAMOWIENIE
    W tabeli kraje mam IDKRAJU, NAZWAKRAJU, KONTYNENT
    W tabeli zwierzetazoo mam IDKRAJU, IDZWIERZE, IMIE, GATUNEK, GRUPA
    W tabeli zwierzetazamowienie mam IDKRAJU, IDZWIERZE, IMIE, GATUNEK, GRUPA, CENA, DATADOSTARCZENIA

Mam 2 problemy:

  1. Wyświetl gatunki wszystkich zwierząt i kraje z jakich przybędą oraz datę dostarczenia(dla zwierząt
    będących w zoo wypisz tekst ‘w zoo’)

  2. Wypisz imię i Id Zwierząt zamówionych, których imię jest takie samo jak zwierząt w zoo

Próbowałem z tym zadziałać jakoś z JOIN'ami, przez inner.left,right,full.. próbowałem tez z union'ami, ale za nic nie mogę dojść jak połączyć te 3 tabele w jedną jeśli dwie z nich mają takie same zmienne jak imie czy gatunek...

Proszę o pomoc. Jak coś to pracuje w SQL Server Managment Studio

Pozdrawiam!

3

Zakładam, ze to są oddzielne zadania a nie kolejne punkty w zadaniu. Najlepiej takie rzeczy sobie na kartce rozrysować zanim się zabierze za kodowanie.


select  zwierzetazamowienie.GATUNEK
        ,kraje.NAZWAKRAJU
        ,zwierzetazamowienie.DATADOSTARCZENIA
        ,case when zwierzetazoo.IDKRAJU IS not null then 'w zoo' else '' as Info
from    zwierzetazamowienie 

        inner join
        --z jakiego kraju przybeda
        kraje 
        on zwierzetazamowienie.IDKRAJU = kraje.IDKRAJU

        left outer join
        --są juz w zoo
        zwierzetazoo 
        on zwierzetazamowienie.IDZWIERZE = zwierzetazoo.IDZWIERZE

select  zwierzetazamowienie.IMIE
        ,zwierzetazamowienie.IDZWIERZE
from    zwierzetazamowienie

        inner join
        zwierzetazoo 
        on zwierzetazamowienie.IMIE = zwierzetazoo.IMIE

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0