Как выбрать записи и записать их в таблицу через один запрос?

golos81

Новичок
Как выбрать записи и записать их в таблицу через один запрос?

Выбираю через select записи. Можно ли как-то одним запросом сразу эти записи записать в таблицу? Что-то наподобие:
insert into `table` (...) values (select * from table1);
?
 

LONGMAN

Dark Side of the Moon..
Есть такой вопрос, хочу из одной таблицы перезалить уникальные записи во втором таблице. Мне нужно выбрать все поля где col1 не повторяется и является уникальным. Выбор делаю так:
PHP:
sql > SELECT DISTINCT(col1),* FROM table
Не работает, выбирается все записи..
Эта вообше ошибку выдаёт:
PHP:
sql > SELECT * FROM (SELECT DISTINCT(col1) FROM table)
Как мне быть?
 

zerkms

TDD infected
Команда форума
LONGMAN
твоя задача состоит из 2х:

1. выборка уникальных
2. вставка выбранных

что именно у тебя не получается?
 

LONGMAN

Dark Side of the Moon..
zerkms
Выборка всех строк из всех записей где col1 является уникальным.
 

zerkms

TDD infected
Команда форума
COUNT + GROUP BY + HAVING
вот достаточный набор конструкций.
 

LONGMAN

Dark Side of the Moon..
zerkms
Сделал так:
PHP:
SELECT * FROM `table` GROUP BY `col1` HAVING COUNT(`col1`) = '1'
Этот запрос выбрал 4137 записей, так как запрос
PHP:
SELECT DISTINCT(`col1`) FROM `table`
Выбирает 5469 записей.. Какой из них ошибается?
 

zerkms

TDD infected
Команда форума
никто из них не ошибается. каждый из них делает свою работу. при наборе

A
A
B

первый запрос вернёт 1 (потому что только B уникальна)
второй - 2 (почему - домашнее задание)
 

LONGMAN

Dark Side of the Moon..
Ясно :) Потаму что А не уникальна и он не выберёт А вообше. Выходит я неверно поставил задачу. Значит мне нужно выбрать все записи где поле `col1` не будет повторятся, то есть эффект DISTINCT'а. Как это сделать?
 

zerkms

TDD infected
Команда форума
а если записей с А несколько, то как определить, какая нужна?
 

LONGMAN

Dark Side of the Moon..
А какая разница если они одинаковые? На пример первый же встречный
 

LONGMAN

Dark Side of the Moon..
:) Да но при этом мне нужно выбрать все поля чтобы их значения потом перекинуть в другую таблицу, а этот выбирает только col1
 
Сверху