Agregando un alias a una declaración donde en SQL -- sql campo con tsql campo con ssms campo con where camp Relacionados El problema

Adding an Alias to a WHERE statement in SQL


3
vote

problema

Español

Estoy tratando de averiguar cómo agregar un alias a las abreviaturas de los estados.

Ejemplo:

consulta:

  SELECT DISTINCT CHAPTER, COUNT(CHAPTER)AS MEMBERS FROM Name WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN  ('AL', 'AK', 'AZ')   

Quiero agregar el nombre completo del estado a al, AK y AZ.

Ejemplo:

  AND CHAPTER IN  ('AL' AS 'ALABAMA', 'AK' AS 'ALASKA', 'AZ' AS 'ARIZONA')   
Original en ingles

I am trying to figure out how to add an alias to the states abbreviations.

Example:

QUERY:

SELECT DISTINCT CHAPTER, COUNT(CHAPTER)AS MEMBERS FROM Name WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN  ('AL', 'AK', 'AZ') 

I want to add the full state name to AL, AK AND AZ.

Example:

AND CHAPTER IN  ('AL' AS 'ALABAMA', 'AK' AS 'ALASKA', 'AZ' AS 'ARIZONA') 
           

Lista de respuestas

4
 
vote

Puede usar una expresión CASE :

  SELECT  CASE              WHEN CHAPTER = 'AL' THEN 'ALABAMA'             WHEN CHAPTER = 'AK' THEN 'ALASKA'             WHEN CHAPTER = 'AZ' THEN 'ARIZONA'         END AS CHAPTER,          COUNT(*) AS MEMBERS FROM Name WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN ('AL','AK','AZ') GROUP BY CASE              WHEN CHAPTER = 'AL' THEN 'ALABAMA'             WHEN CHAPTER = 'AK' THEN 'ALASKA'             WHEN CHAPTER = 'AZ' THEN 'ARIZONA'          END;   

Pero le recomiendo que cree una tabla de alias y realice un JOIN con él:

  SELECT  A.CHAPTERNAME,          COUNT(*) AS MEMBERS FROM dbo.Name AS N LEFT JOIN dbo.Aliases AS A     ON N.CHAPTER = A.CHAPTER WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN ('AL','AK','AZ') GROUP BY A.CHAPTERNAME;   
 

You can use a CASE expression:

SELECT  CASE              WHEN CHAPTER = 'AL' THEN 'ALABAMA'             WHEN CHAPTER = 'AK' THEN 'ALASKA'             WHEN CHAPTER = 'AZ' THEN 'ARIZONA'         END AS CHAPTER,          COUNT(*) AS MEMBERS FROM Name WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN ('AL','AK','AZ') GROUP BY CASE              WHEN CHAPTER = 'AL' THEN 'ALABAMA'             WHEN CHAPTER = 'AK' THEN 'ALASKA'             WHEN CHAPTER = 'AZ' THEN 'ARIZONA'          END; 

But I recommend that you create an alias table and perform a JOIN with it:

SELECT  A.CHAPTERNAME,          COUNT(*) AS MEMBERS FROM dbo.Name AS N LEFT JOIN dbo.Aliases AS A     ON N.CHAPTER = A.CHAPTER WHERE MEMBER_RECORD = '1' AND COUNTRY in ('',' ','United States') AND CHAPTER IN ('AL','AK','AZ') GROUP BY A.CHAPTERNAME; 
 
 
         
         

Relacionados problema

0  Cómo usar el inserto con donde  ( How to use insert with where ) 
Necesito insertar datos en mi base de datos MySQL, dependiendo de si un campo en otra tabla en la base de datos es verdadero o falso (BOOL). El código PHP que...

2  Generación nómada de subconjuntos de matriz global basados ​​en la máscara  ( Numpy generation of subsets of global array based on mask ) 
Estoy interesado en generar una lista (o NP.Array) de NP.Arrays de una matriz Global 2D, basada en una máscara booleana coincidente con NOMPY, para un eje en ...

-1  MySQL Seleccione con algunos y Operador  ( Mysql select with some and operator ) 
Tengo esta tabla y quiero obtener resultados a continuación "attribute vec2 aTexCoord;" +2 Quiero hacer que la consulta que devuelva Prod_ID (s) buscand...

0  SetContent / Selección de fechas  ( Setcontent selecting on dates ) 
Docs de Bolt Diga para lo que puede usar varios 'atajos' para Seleccionando registros con fechas en el pasado o en el futuro. Y "internamente, Bolt usa...

0  No usar índice en donde la cláusula  ( Not using index in where clause ) 
Si tengo lo siguiente en la cláusula WHERE: ( approps_precio * moneda_valor BETWEEN 2000 AND 6000) No usa el índice IDX_APPOPS_PRECIO. pero ( appr...

0  Consulta MySQL lenta en ~ 400.000 entradas  ( Slow mysql query on 400 000 entries ) 
Tengo la siguiente consulta que es realmente lenta (2.9 seg): ldap_list()0 El perfil muestra: ldap_list()111 y la explicación: ldap_list()2 ...

0  Rendimiento de consultas SQL usando algo extraño donde la cláusula  ( Sql query performance using somewhat strange where clause ) 
Tengo una pregunta divertida para usted, SQL GURUS por ahí (o tal vez, ¿no?). Tengo este hábito cuando necesito construir una consulta en tiempo de ejecució...

1  ¿Cómo puedo limitar mi consulta por fecha usando Scalaquery  ( How can i limit my query by date using scalaquery ) 
Estoy usando Scalaquery y he encontrado con un problema cuando intento limitar mi consulta basada en un campo de fecha. Estoy usando Scala 2.9.2, Scalaques 2....

0  Consulta de rieles donde el atributo de matriz contiene superposición con otra matriz  ( Rails query where array attribute contains overlap with other array ) 
Tengo un modelo llamado Listado que representa un listado para un Sublet de apartamentos. Estas subublas se pueden alquilar para diferentes términos (verano, ...

0  Declaración MySQL sin unirse  ( Mysql statement without a join ) 
Tengo una tabla de MySQL que estoy tratando de consultar artículos_data y no quiero hacer ninguna unión a otras tablas. tiene filas: ROLE_USER111 Esto...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos