Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.07.2008, 18:37
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
insert into tb2( user_id, news_id) values (select user_id from tb1)
Так нельзя, я тоже так хотел
нужно , что-то типа
SELECT id INTO edu_newsletter_user.user_id FROM edu_user;
Последний раз редактировалось Naydav; 02.07.2008 в 18:40..
|
|
|

02.07.2008, 18:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
Сообщение от Naydav
Так нельзя
подзапрос select user_id from tb1 - возвращает все значение(не одно), а при таком запросе
подзапрос должен возвращть одно
уху сам пошел почитал маны values писать не надо
insert into tb2( user_id, news_id) (select user_id, 'значение' from tb1)
|
|
|

02.07.2008, 18:42
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
значение - это постоянное число, береться не из базы
В том, то и проблема
ща попробую
SELECT id INTO edu_newsletter_user.user_id FROM edu_user;
|
|
|

02.07.2008, 18:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
отстранимся от случая и подумаем.
если нужно выбрать постоянное число 5
будет запрос
select 5;
если надо назвать столбец по другому
будет select 5 as columnname;
вернемся к нашему случаю
insert into tb2(user_id, news_id) (select user_id, 5 as news_id from tb1);
|
|
|

02.07.2008, 18:52
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
отстранимся от случая и подумаем.
если нужно выбрать постоянное число 5
будет запрос
select 5;
блин точно...
Ответ
insert into tb2(user_id, news_id) (select user_id, 5 from tb1);
geezer.code, спасибо!
|
|
|

02.07.2008, 19:32
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
В продолжении темы:
Нужен, подзапрос типа:
SELECT *, "значение из другой таблицы, на основе текущего id"
FROM `edu_user`
Поясняю
Нужно выбрать все поля из таблицы edu_user (все записи), + значение `newsletter_id` из таблицы edu_newsletter_user, где edu_user.id = edu_newsletter_user.user_id
т.е резвлт должен быть например таким
id - 5
name - login
newsletter - 56(это значение взято из таблицы edu_newsletter_user)
Что бы было более ясно, вот неправильный запрос, но по нему можно понять, что нужно выбрать
SELECT *, `newsletter_id` AS ( SELECT `newsletter_id` FROM edu_newsletter_user WHERE user_id = 'текущий id' )
FROM `edu_user`
Последний раз редактировалось Naydav; 02.07.2008 в 19:40..
|
|
|

02.07.2008, 21:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
Сообщение от Naydav
В продолжении темы:
Нужно выбрать все поля из таблицы edu_user (все записи), + значение `newsletter_id` из таблицы edu_newsletter_user, где edu_user.id = edu_newsletter_user.user_id
select id,name,newsletter from edu_user, edu_newsletter_user where edu_user.id = edu_newsletter_user.user_id;
|
|
|

02.07.2008, 22:11
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
select id,name,newsletter from edu_user, edu_newsletter_user where edu_user.id = edu_newsletter_user.user_id;
Нам нужно выбрать не юзера у которого
edu_user.id = edu_newsletter_user.user_id
А всех юзеров со всеми полями + значение из другой таблицы...
пример
edu_user:
id | name |
45 | name1
46 | name2
47 | name3
edu_newsletter_user:
id | user_id |newsletter_value
75 | 45 | 1
76 | 46 | 2
77 | 47 | 3
Результат выбора:
id - 45
name - name1
newsletter_value - 1 (взято из таблицы edu_newsletter_user, по user_id)
id - 46
name - name2
newsletter_value - 2 (взято из таблицы edu_newsletter_user, по user_id)
id - 47
name - name2
newsletter_value - 3 (взято из таблицы edu_newsletter_user, по user_id)
|
|
|

02.07.2008, 22:34
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
Код:
select edu_user.id,edu_user.name,edu_newsletter_user.newsletter_value from edu_user inner join edu_newsletter_user on edu_user.id=edu_newsletter_user.user_id
попробуй так
__________________
Карфаген должен быть разрушен...
|
|
|

02.07.2008, 22:55
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Scipio
Спасибо, этот метод подходит
пс
Уже месяца 4 обешаю разобраться с объеденением таблиц 
На выходных буду читать !!!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|