2012-05-23 3 views
1

Я не уверен, почему этот синтаксис не работает. Я хочу создать новую таблицу, которая объединяет две существующие таблицы.Создание таблицы в SQL

CREATE TABLE blah(
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2 
FROM T1, T2 
WHERE T1.ID = T2.ID) 
+0

Что диалекте SQL Server? – Turbot

+0

Я использую Netzilla –

+0

, какую базу данных вы используете mysql oracle postgres или что-то еще. в Oracle это было бы примерно так: 'create table test_table как select * from dual;' и сообщение об ошибке, которое вы получаете, было бы полезно также – Hugo

ответ

1

Да, весь запрос правильный, просто отсутствует.

CREATE TABLE blah AS (
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2 
FROM T1, T2 
WHERE T1.ID = T2.ID); 
1

выглядят как вам не хватает, как здесь, попробуйте

CREATE TABLE blah as (
SELECT T1.BUSINESSNAME, T1.STREETADDRESS, T1.CITYNAME, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2 
FROM T1, T2 
WHERE T1.ID = T2.ID) 
+0

Это специфично для Netzilla? –

+0

@ lord12 no, это, как правило, синтаксис sql. – snow8261

+0

Когда я выходил в интернет и искал, я просто видел круглые скобки и не «как». Я думаю, сайт был неправильным. –

0
SELECT T1.Q1, T1.Q2, T1.Q3, T1.ID, T1.QOL, T2.ID, T2.L1, T2.L2 
INTO blah 
FROM T1, T2 
WHERE T1.ID = T2.ID 
0

Имя столбца ID указывается два раза: в T1.ID и в T2.ID. По крайней мере, в postgres это не принято.

0

Вы можете создать таблицу, используя ниже код

SELECT * 
INTO #MyNewTable 
FROM SourceTale 
+0

Не работает ли это в MYSQL, потому что я получаю необъявленную переменную ошибку. –

Смежные вопросы