2016-07-19 2 views
-1

я хочу, чтобы выбрать из нескольких таблицы и записи на одном столе:выбрать из нескольких таблицы и записи на одном столе W3Schools

INSERT INTO interest_area (category_id, user_id) 
     SELECT category_id FROM category 
     WHERE category_name = 'HTML' 
     UNION ALL 
     SELECT user_id FROM users 
     WHERE first_name = 'Memar'; 

но не мог писать.

+0

категории таблицы и пользователя связаны некоторых столбцов? – scaisEdge

+0

UNION - это неправильный путь, потому что это добавит строки из двух таблиц вместе. Возможно, вы захотите использовать JOIN из двух таблиц, так как вы хотите создавать новые строки из столбцов. Вам понадобится столбец, в котором вы получите соединение между категорией и пользователем. – Fuzzzzel

+0

@Fuzzzzel Похоже, что эта таблица создает соединение между категорией и пользователем. Вышеупомянутый запрос предназначен, чтобы сказать, что пользователь Memar интересуется категорией HTML. Это крест, поэтому отношения не нужны. – Barmar

ответ

1

Изменить что-то вроде запроса

INSERT INTO interest_area (category_id, user_id) 
    SELECT category_id,user_id FROM category c,users u 
    WHERE c.category_name = 'HTML' and u.first_name = 'Memar'; 
+1

В ответах используйте синтаксис ANSI JOIN. Нам не нравится продвигать устаревший синтаксис. – Barmar

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