Wpis z mikrobloga

#sql #pytanie #pytaniedoeksperta #kiciochpyta #programowanie
Mam dwie tabele dajmy na to że nazywają się a i b. Obie wypełniłem liczbami. Chcę wyświetlić selectem wszystkie rekordy które są w tabeli a i nie ma ich w tabeli b. Czyli np jeśli tabela a zawiera liczby od 1 do 100 a tabela b od 90 do 100 to ma mi się wyświetlić tabelka z liczbami z zakresu 1-90. Jak to najłatwiej zrobić? Jestem początkujący w sql a nie udało mi się tego wyguglać.
  • 12
@nesti32:

Chociaż w twoim przypadku nie możesz joinować sorki : / użyj expect jak mówił siteman


Dlaczego nie może joinować? Przecież sam pokazałeś grafikę gdzie jest odpowiedni join.
@nesti32:

Masz po czym joinowac w tych danych? Jeśli tak to oks :)


Po tych polach, gdzie są wartości. OP nie podał nazw pól, ale zakładam że w jednej i drugiej tabeli dane siedzą w jakimś polu.
@radeks11: Jeśli nie ma wspólnej kolumny, a z tego co napisał OP wynika, że nie ma, to nie zrobi się klasycznego joina, chyba że o czymś nie wiem. Jedyne co można zrobić, to jakiegoś cross joina, ale to z kolei zwróci pomieszane wyniki z obydwu tabel.
@devfoundry:

Jeśli nie ma wspólnej kolumny


Co to jest wspólna kolumna? Relacja? Możesz robić joina na dowolnych kolumnach, nie muszą być kluczem ani nawet mieć indexu. Muszą mieć tylko taki sam typ. A nawet jak nie mają takiego samego typu to możesz zrobić cast/convert w funkcji łączącej.