una sofas sofa sillones separados precios pieza modulos modulares modernos fama diseñar sql sql-server-2005 union

sofas - Seleccione de union tsql



sofas fama precios (2)

¿Es posible seleccionar del resultado de una unión? Por ejemplo estoy tratando de hacer algo como:

SELECT A FROM ( SELECT A, B FROM TableA UNION SELECT A, B FROM TableB ) WHERE B > ''some value''

¿Me estoy perdiendo algo o haciendo una suposición sobre cómo funciona esto? Estoy usando MSSQL 2005, por lo que cualquier solución deberá ajustarse a lo que puedo hacer allí.


Da el nombre de Alias ​​sin el cual recibirás

Msg 156, Level 15, State 1, Line 21 Incorrect syntax near the keyword ''WHERE''.

Probar esto (Dar nombre de alias)

DECLARE @TableA Table(A int, B int) DECLARE @TableB Table(A int, B int) INSERT INTO @TableA VALUES(1,1) INSERT INTO @TableA VALUES(1,2) INSERT INTO @TableA VALUES(1,3) INSERT INTO @TableA VALUES(1,4) INSERT INTO @TableB VALUES(2,1) INSERT INTO @TableB VALUES(2,2) INSERT INTO @TableB VALUES(2,3) INSERT INTO @TableB VALUES(2,4) SELECT A FROM ( SELECT A, B FROM @TableA UNION SELECT A, B FROM @TableB )X -- here X is table Alias WHERE B > 0

Resultado

UNA

1 1 1 1 2 2 2 2


Deberías darle un alias a tu tabla. Así que prueba esto:

SELECT A FROM ( SELECT A, B FROM TableA UNION SELECT A, B FROM TableB ) AS tbl WHERE B > ''some value''