[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Так нельзя, я тоже так хотел

    нужно , что-то типа
    SELECT id INTO edu_newsletter_user.user_id FROM edu_user;
     
    #121 Naydav, 2 Jul 2008
    Last edited: 2 Jul 2008
  2. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    уху сам пошел почитал маны values писать не надо

    insert into tb2( user_id, news_id) (select user_id, 'значение' from tb1)
     
  3. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    значение - это постоянное число, береться не из базы
    В том, то и проблема

    ща попробую
    SELECT id INTO edu_newsletter_user.user_id FROM edu_user;
     
  4. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    отстранимся от случая и подумаем.
    если нужно выбрать постоянное число 5
    будет запрос
    select 5;
    если надо назвать столбец по другому
    будет select 5 as columnname;

    вернемся к нашему случаю
    insert into tb2(user_id, news_id) (select user_id, 5 as news_id from tb1);
     
    2 people like this.
  5. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    блин точно...
    Ответ
    geezer.code, спасибо!
     
  6. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    В продолжении темы:

    Нужен, подзапрос типа:

    Поясняю

    Нужно выбрать все поля из таблицы edu_user (все записи), + значение `newsletter_id` из таблицы edu_newsletter_user, где edu_user.id = edu_newsletter_user.user_id

    т.е резвлт должен быть например таким

    id - 5
    name - login
    newsletter - 56(это значение взято из таблицы edu_newsletter_user)


    Что бы было более ясно, вот неправильный запрос, но по нему можно понять, что нужно выбрать
     
    #126 Naydav, 2 Jul 2008
    Last edited: 2 Jul 2008
  7. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    select id,name,newsletter from edu_user, edu_newsletter_user where edu_user.id = edu_newsletter_user.user_id;
     
  8. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Нам нужно выбрать не юзера у которого
    А всех юзеров со всеми полями + значение из другой таблицы...

    пример

    edu_user:
    edu_newsletter_user:
    Результат выбора:

    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)
     
  9. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    Code:
    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
    попробуй так
     
    1 person likes this.
  10. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Scipio
    Спасибо, этот метод подходит

    пс
    Уже месяца 4 обешаю разобраться с объеденением таблиц :)
    На выходных буду читать !!!
     
  11. VDShark

    VDShark Elder - Старейшина

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    В статьях посмотри - я недавно статью на эту тему писал... с понятными примерами.
     
  12. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Обязательно! чем больше источников - тем лучше
    спасибо
     
  13. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Я скачал базу данных на mysql и установил на свой, домашний компьютер. База ipb форума.
    Я выяснил, что при восстановлении база данных, происходит кракозябра. Восстановление происходит успешно, но русские буквы преобразовываются.
    Что нужно подправить в ASP Linux 11.2, чтобы база данных успешно импотировалась, без всякизх кракозябр?

    Стандартная кодировка в mysql
    Code:
    default-character-set             latin1
    Как ее можно изменить?
     
    #133 Ershik, 3 Jul 2008
    Last edited: 3 Jul 2008
  14. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    незнаю правильно ли я тебя понял, просто попробуй в самом начале дампа напиши:
     
  15. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Я это пробовал. Не получилось.
    Я хочу поменять кодировку latin1, которая по умолчанию в Linux на cp1251
    База весит 600 мегабайт, извините, никакого желания восстанавливать в 4 раз у меня желания нет :)
     
  16. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    ндя...
    ну тогда когда появится желание попробуй сделать так:
    найди файленг my.cnf
    в секцию [client] допиши или измени:
    на денвере это так:
    потом в секции [mysqld] допиши или исправь:
    в секции [mysql] допиши или исправь:
    надеюсь поможет
     
    1 person likes this.
  17. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Я сделал, как вы наисали. Сейчас восстанавливаю базу снова.
    Через rst.php видно, что кодировка встала нормальная. Логический предполагаю, что через браузер тоже все корректно отображается.
    Спасибо :)
     
  18. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Допустим есть таблица

    user:
    и user_news
    и установленна переменная
    $news_id = 4;

    Нужно выбрать все строки в user, что бы результат был таким

    Где in_news - береться из таблицы user_news ( оно равно 1, если в таблице есть запись с user_id равное user.id, и запись news_id = $news_id ( в нашем случае 4)

    in_news - может называться по-другому, мне все равно...
    мы можем просто при проверки проверять наличие in_news
     
  19. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Как сделать из двух запросов один запрос

    Как сделать из двух запросов один запрос

    сделать в одном запросе


    и

     
    #139 DTW, 3 Jul 2008
    Last edited: 4 Jul 2008
  20. ZneP

    ZneP Elder - Старейшина

    Joined:
    7 Nov 2006
    Messages:
    55
    Likes Received:
    5
    Reputations:
    0
    Как должен выглядить запрос нескольких функций Sum из нескольких таблиц (по одной функции Sum из каждой таблицы)?
     
Thread Status:
Not open for further replies.