Ответ 1
INSERT INTO Results (People, names )
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id
Объедините статическую строку Henry
с запросом SELECT
.
MySQL Как вы вставляете INTO в таблицу с подзапросом SELECT, возвращающим несколько строк?
INSERT INTO Results
(
People,
names,
)
VALUES
(
(
SELECT d.id
FROM Names f
JOIN People d ON d.id = f.id
),
(
"Henry"
),
);
I WANT, чтобы заполнить новую таблицу всеми результатами, возвращаемыми из этого подзапроса. Как это сделать без получения ОШИБКИ 1242 (21000): Подзапрос возвращает более 1 строки
INSERT INTO Results (People, names )
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id
Объедините статическую строку Henry
с запросом SELECT
.
INSERT INTO Results
(
People,
names,
)
VALUES
(
(
SELECT d.id
FROM Names f
JOIN People d ON (d.id = f.id) limit 1
),
(
"Henry"
),
);
INSERT INTO Results
(
People,
names,
)
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id
Вот что я нашел, что хорошо работает. Это немного длинный, но много раз дополнительные данные нужно перетасовывать.
Вставьте несколько строк в таблицу1 из таблицы2 со значениями. ПРИМЕРЫ:
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1,col2,col3,col4,col5
FROM table2 t2
WHERE t2.val2 IN (MULTIPLE VALUES)
AND (Another Conditional);
Вы можете вставить жестко закодированные значения, чтобы вставить несколько строк с повторяющимися данными:
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT "Value", col2, col3, "1900-01-01","9999-12-31"
FROM table2 t2
WHERE t2.val2 IN (MULTIPLE VALUES)
AND (Another Conditional);
Обратите внимание, что: "Значение", "1900-01-01", "9999-12-31" будет повторяться во всех вставленных строках.
Вставить в ec_element (parentid, name) select elementid, 'STARTUP' из ec_element, где name = 'BG';
Оператор выраженияпринимает значения elementid из таблицы, найденной с выполненным условием и строкой метки.