Join two SQL Server queries into one

0

I have to do these two consultations one

Query 1:

SELECT r.id_referencia
    ,t.id_tipo
    ,o.id_operacion
    ,p.id_provincia
    ,s.id_superfice
    ,pr.id_precio
    ,v.id_vendedor
FROM vendedor v
JOIN Inmuebles i ON v.nombre_vendedor = i.vendedor
JOIN referencia r ON r.id_referencia = i.Referencia
JOIN Tipo t ON t.nombre_tipo = i.Tipo
JOIN operacion o ON o.nombre_operacion = i.Operacion
JOIN provincia p ON p.nombre_provincia = i.Provincia
JOIN superficie s ON s.superficie = i.Superficie
JOIN precio_venta pr ON pr.valor_venta = i.Precio_Venta
ORDER BY r.id_referencia

Query 2:

SELECT i.fecha_alta
    ,f.id_fecha
    ,f.año
    ,f.mes
    ,f.dia
    ,f.marca
FROM (
    SELECT fecha_alta
        ,YEAR(fecha_alta) AS año
        ,MONTH(fecha_alta) AS mes
        ,DAY(fecha_alta) AS dia
        ,1 AS marca
    FROM inmuebles

    UNION

    SELECT fecha_venta
        ,YEAR(fecha_venta) AS año
        ,MONTH(fecha_venta) AS mes
        ,DAY(fecha_venta) AS dia
        ,2 AS marca
    FROM inmuebles
    ) AS i
JOIN fecha f ON i.año = f.año
WHERE i.mes = f.mes
    AND i.dia = f.dia
    AND i.marca = f.marca

I've tried it this way:

SELECT r.id_referencia
    ,f.id_fecha
    ,t.id_tipo
    ,o.id_operacion
    ,p.id_provincia
    ,s.id_superfice
    ,pr.id_precio
    ,v.id_vendedor
FROM (
    SELECT fecha_alta
        ,YEAR(fecha_alta) AS año
        ,MONTH(fecha_alta) AS mes
        ,DAY(fecha_alta) AS dia
        ,1 AS marca
    FROM inmuebles
UNION
    SELECT fecha_venta
        ,YEAR(fecha_venta) AS año
        ,MONTH(fecha_venta) AS mes
        ,DAY(fecha_venta) AS dia
        ,2 AS marca
    FROM inmuebles
    ) AS fec
JOIN fecha f ON fec.año = f.año
JOIN vendedor v
JOIN Inmuebles i ON v.nombre_vendedor = i.vendedor
JOIN referencia r ON r.id_referencia = i.Referencia
JOIN Tipo t ON t.nombre_tipo = i.Tipo
JOIN operacion o ON o.nombre_operacion = i.Operacion
JOIN provincia p ON p.nombre_provincia = i.Provincia
JOIN superficie s ON s.superficie = i.Superficie
JOIN precio_venta pr ON pr.valor_venta = i.Precio_Venta
ORDER BY r.id_referencia

But I get the following error:

  

An expression of non-boolean type specified in a context where a condition is expected

Is there any other way to make it one?

    
asked by Osvaldo 28.06.2017 в 21:21
source

0 answers