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