• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

ms sql - etykia do kolumny

Mały hosting, OGROMNE możliwości
0 głosów
638 wizyt
pytanie zadane 9 kwietnia 2021 w SQL, bazy danych przez yapyap Obywatel (1,730 p.)

Witam, posiadam 3 przykładowe tabele, z zamówieniami, samochodami nowymi i samochodami używanymi

Tabele mogą posiadać więcej rekordów o podobnych wartościach, poniżej jest to tylko przykład dla prezentacji problemu (tabele mogły zostać napisane inaczej, ale zostały zrobione w ten sposób aby zaprezentować problem)

Teraz chce wybrać wszystkie zamówienia i dołączyć do nich istniejące samochody

SELECT
	* 
FROM
	zamowienia zam
 LEFT JOIN nowe_samochody nowe on zam.id_zamowienia = nowe.id_zamowienia
 LEFT JOIN uzywane_samochody uzywane on zam.id_zamowienia = uzywane.id_zamowienia

Z czym mam problem

1. Chciałbym dodać dodatkową kolumnę w wyniku o nazwie "pochodzenie" w której jest napisana nazwa tabeli z której pochodzi rekord np. (wycinek)

id_ zam     id_pojazd      kolor        pochodzenie

...
    1           1          czarny        uzywane
    1           1          czarny        nowe
...

 

komentarz 9 kwietnia 2021 przez PreZmyK Pasjonat (21,530 p.)

Recordy, które które się nie pokryją powinny zwrócić wartość null. Możesz pokombinować z casem w stylu

CASE 
WHEN nowe.id_zamowienia IS NOT NULL THEN 'NOWE'
ELSE 'STARE'
END AS status

Ale i tak uważam, że to zapytanie zwróci sieczkę.

1 odpowiedź

0 głosów
odpowiedź 9 kwietnia 2021 przez SzkolnyAdmin Szeryf (90,290 p.)
Nie prościej będzie w tabelach dodać pole z pochodzeniem auta?
komentarz 9 kwietnia 2021 przez yapyap Obywatel (1,730 p.)
Bez sensu dodawać kolumne w tabeli np. nowe samochody w ktorej kazda komórka będzie miała tą samą nazwe np; "Nowe samochody", jak będzie 80 000 rekordów to komórka z tekstem "Nowe samochody" powieli się też o 80 0000.

 

Druga sprawa że jest to baza innej aplikacji której nie mogę modyfikować a kod potrzebuje na cele raportu.

Podobne pytania

0 głosów
0 odpowiedzi 233 wizyt
pytanie zadane 27 maja 2022 w SQL, bazy danych przez Hardwell Dyskutant (9,060 p.)
0 głosów
1 odpowiedź 1,834 wizyt
pytanie zadane 9 kwietnia 2017 w SQL, bazy danych przez niezalogowany
0 głosów
1 odpowiedź 433 wizyt

93,715 zapytań

142,629 odpowiedzi

323,260 komentarzy

63,257 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...