Skip to main content

Posts

Aliases and selecting from a select

Rarely do you need select from a select statement. Occasionally this pops up with complex PIVOTs and UNPIVOTs. The tip when doing this is (in MSSQL) is the "table" select statement needs to be aliased. For example, the following statement will not work: SELECT * FROM ( SELECT * FROM blah )  However, the following statement will work: SELECT * FROM ( SELECT * FROM blah ) x

Get a list of Field Names and Data Types for a MSSQL table

Use this type of SQL to generate a listing of field names and properties for an MSSQL table USE //Your Database Name// SELECT c .object_id , c .column_id , c .name , types.name , c .[max_length] , c .[ precision ] , c .[ scale ] FROM sys.all_columns c JOIN sys.tables t ON c .object_id = t.object_id JOIN sys.types types ON c .user_type_id = types.user_type_id WHERE t.name = '//Your Table Name//'

SQL table copies - SELECT INTO VS INSERT INTO

Creating a new table from another table  see:  https://www.w3 schools.com/sql/sql_select_into.asp This creates a new table and inserts all the data from the oldtable  SELECT  *  INTO   newtable  FROM   oldtable You can create a new empty table from the schema of an other using a statement like SELECT  *  INTO   newtable  FROM   oldtable  WHERE   1  =  0 ; Copy data from one table into another existing table  see:  https://www.w3schools.com/sql/sql_insert_into_select.asp Insert data from one table into another  INSERT   INTO   table2  SELECT  *  FROM   table1 If you need to specify a column list (as is the cast when dealing with identity insert), the syntax is... The tips are: Brackets are required around the destination fields No brackets are required around the select fields, just like a normal select statement  ...