называя вывод в sql - PullRequest
       21

называя вывод в sql

0 голосов
/ 06 апреля 2020

Я пытаюсь назвать вывод своего запроса, но я не могу это сделать принудительно, вот мой код здесь

select countryname , datemonth
from city, payments,State,country,dt_date,rooms,customer
where year(payments.PayDate) >"2010"  
ANd Payments.CustomerID = Customer.CustomerID
And State.CountryID = Country.CountryID
AND City.StateID = State.StateID
And Customer.CityID = City.CityID
and payments.DateID = dt_date.DateID 
union 
select countryname, datemonth
from city, payments,State,country,dt_date,rooms,booking,customer
where year(booking.DateBookingMade) >= "2010"
ANd booking.CustomerID = Customer.CustomerID
And State.CountryID = Country.CountryID
AND City.StateID = State.StateID
And Customer.CityID = City.CityID
and booking.DateID = dt_date.DateID;

Я хочу назвать первый выбор как платежи а второй выберите как бронирование вывод моего запроса

 countryname    datemonth
    UK           12
    USA          11
    UK            6
    UK            5
    USA           2

what I want is 

countryname    datemonth    status
    UK           12           payment
    USA          11           payment 
    UK            6           booking
    UK            5           booking
    USA           2           bookimg

спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Используйте явный синтаксис join и избегайте запятых и выражений, чтобы избежать union all:

select countryname , datemonth,
       (case when year(p.paydte) > 2010 then 'payment' else 'booking' end)
from city c inner join
     payments p
     on  . . .  inner join
     State s
     on . . . inner join
     country cnt
     on . . . inner join 
     dt_date dt
     on . . .  inner join
     rooms r
     on . . . inner join
     customer cst
     . . .
where year(p.PayDate) >= 2010; 
0 голосов
/ 06 апреля 2020

Добавить трехмерный столбец в оба запроса:

select countryname , datemonth, 'payment' as status
.............................
union 
select countryname, datemonth, 'booking' as status
.............................
...