Gorod.dp.ua » Міські форуми / Городские форумы
Сторінка 1 з 3 123 ОстанняОстання
Всього знайдено 44, показано з 1 по 20.

Тема: Есть ли специалисты по SQL

  1. #1
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово Есть ли специалисты по SQL

    Решил освоить SQL, пока делаю упражнения на сайте http://www.sql-ex.ru/
    В общем некоторые упражнения жутко выносят мозг, вроде бы и теория есть, но не всегда получается понять ее
    вот залип в этом упражнении http://gyazo.com/d824179aac94919d32347f78cc6b38f1 внизу правильный вывод, для понимания. Мой же запрос выводится с надписью: Двусмысленное имя колонки model
    Нужна помощь специалиста, причем даже не в решении, а в объяснении терминов и правильном их толковании. Субъективно, терминология выносит мозг, залип перед этим над другой задачей, просто не мог понять что хотят, а теория только сбивала с толку, а оказалось, что там не чего решать. Думаю тут, аналогично. Вот даже как-бы пояснения http://www.sql-ex.ru/help/select6.php и внизу указана данная задача для закрепления.
    P.S. Объясните зачем такую абракадабру запоминать:
    Способ оценки комплекса Булева состоит в том, чтобы оценивать Булевы выражения наиболее глубоко вложенные в круглых скобках, объединять их в единичное Булево значение, и затем объединять его с верхними значениями
    В одном предложении три раза слово Булево, два раза: оценки, объединять, значения. Это вообще как-то можно понять и кто писал такое пояснение?

  2. #2
    Аватар для Mishelka
    Реєстрація
    16 жовтень 2008
    Дописів
    7 591

    Question

    как мне кажется, кто-то Промтом перевел английские методички - и чтобы не заморачиваться с трактовкой boolean - перевел "в лоб".

    а вся заумная фраза звучит так - надо соблюдать порядок логических операций, в первую очередь выполняя те, что находятся в скобках

    понятно проще написать Булева алгебра, чем "порядок выполнения логических операций"

  3. #3
    Аватар для atx.dp.ua
    Реєстрація
    12 серпень 2010
    Звідки Ви
    Днепропетровск
    Дописів
    874

    Типово

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

    Spoiler Spoiler: Ваш запрос 
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN pc b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN laptop b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN Printer b ON a.model = b.model
    WHERE maker = 'B'




    насчет запоминать, никто запоминать не требует
    упрощенно порядок логических операций
    Востаннє редагував atx.dp.ua: 20.04.2014 о 01:35
    Ремонт компьютерных блоков питания atx 050-499-0-500 Сергей
    Продажа блоков питания ATX

  4. #4
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Цитата Допис від Mishelka Переглянути допис
    как мне кажется, кто-то Промтом перевел английские методички - и чтобы не заморачиваться с трактовкой boolean - перевел "в лоб".

    а вся заумная фраза звучит так - надо соблюдать порядок логических операций, в первую очередь выполняя те, что находятся в скобках

    понятно проще написать Булева алгебра, чем "порядок выполнения логических операций"
    Спасибо большое. Вот кто-то бы так объяснял в этих учебниках. И почему бы таблицу не нарисовать для наглядности.

    Цитата Допис від atx.dp.ua Переглянути допис
    по поводу запроса
    выбрать из всех таблиц уникальные записи и объединить

    Spoiler Spoiler: Ваш запрос 
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN pc b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN laptop b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN Printer b ON a.model = b.model
    WHERE maker = 'B'




    насчет запоминать, никто запоминать не требует
    упрощенно порядок логических операций
    Спасибо за решение, но оно меня запутало еще больше ) Если не затруднит, рассшифруйте логику: откуда взялись буквы а и b
    a.model ,
    b.price
    Почему мы выбираем из таблицы Product a(почему из продакт ясно, там есть производитель, но а зачем и почему)? Подозревал что SELECT должно было быть больше чем 2(как сам написал и из-за этого больше объединений).

  5. #5
    Аватар для pasha4ur
    Реєстрація
    13 листопад 2012
    Звідки Ви
    Киев
    Дописів
    999

    Типово

    В одном предложении три раза слово Булево, два раза: оценки, объединять, значения. Это вообще как-то можно понять и кто писал такое пояснение?
    Наверное, это означает, что как и в задачах на равенства и неравенства, нужно смотреть на значение всего булевого выражения в целом, а не на отдельные части. В общем решаются от частного к более общему. Я дизайнер и поэтому могу ошибаться


    Какой язык мучаешь?
    Востаннє редагував pasha4ur: 20.04.2014 о 11:12
    pasha4ur.org.ua: Дизайн и аудит сайтов и интерфейсов | Доработка ваших макетов

  6. #6
    Аватар для atx.dp.ua
    Реєстрація
    12 серпень 2010
    Звідки Ви
    Днепропетровск
    Дописів
    874

    Типово

    Цитата Допис від MaJ0r Переглянути допис
    Спасибо большое. Вот кто-то бы так объяснял в этих учебниках. И почему бы таблицу не нарисовать для наглядности.


    Спасибо за решение, но оно меня запутало еще больше ) Если не затруднит, рассшифруйте логику: откуда взялись буквы а и b
    a.model ,
    b.price
    Почему мы выбираем из таблицы Product a(почему из продакт ясно, там есть производитель, но а зачем и почему)? Подозревал что SELECT должно было быть больше чем 2(как сам написал и из-за этого больше объединений).
    буквы a b это алиасы таблиц что бы не писать Product.model=pc.model (для сокращения записи )
    для начала их можно не использовать и писать все полностью, для большего понимания


    объединять нужно
    три выборки из разных таблиц
    pc laptop printer


    про алисы первая попавшая статья
    Востаннє редагував atx.dp.ua: 20.04.2014 о 11:52
    Ремонт компьютерных блоков питания atx 050-499-0-500 Сергей
    Продажа блоков питания ATX

  7. #7
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Цитата Допис від atx.dp.ua Переглянути допис
    буквы a b это алиасы таблиц что бы не писать Product.model=pc.model (для сокращения записи )
    для начала их можно не использовать и писать все полностью, для большего понимания


    объединять нужно
    три выборки из разных таблиц
    pc laptop printer


    про алисы первая попавшая статья
    Спасибо большое за развернутый ответ. То что можно переименовывать через оператор AS знал, смутило его отсутствие )
    Расписал запрос полностью:
    Код:
    SELECT DISTINCT Product.model, PC.price
    FROM Product JOIN PC
    ON Product.model=PC.model
    WHERE maker ='B'
    UNION
    SELECT DISTINCT Product.model, Laptop.price
    FROM Product JOIN Laptop
    ON Product.model=Laptop.model
    WHERE maker ='B'
    UNION
    SELECT DISTINCT Product.model, Printer.price
    FROM Product JOIN Printer
    ON Product.model=Printer.model
    WHERE maker ='B'
    Темным местом был момент с Product.model, PC.Price в операторе SELECT. Получается когда много таблиц надо объединять, необходимо указывать из какой строки нужно вывести данные(ту же модель и цену). Правильно ли понял?
    P.S. Как получилось ТЭГ спойлер привинтить сюда? )

  8. #8
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Опять нужна помощь http://gyazo.com/bb5dc4fd399ed68f832d7bc3b9d65a18
    Не ясно как интерпретировать совпадение размеров жестких дисков.

  9. #9
    Аватар для Nistoler
    Реєстрація
    26 червень 2007
    Дописів
    965

    Типово

    COUNT нужен.
    ты выводишь сейчас результат, где значение >= 2

    а нужно количество

  10. #10
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Цитата Допис від Nistoler Переглянути допис
    COUNT нужен.
    ты выводишь сейчас результат, где значение >= 2

    а нужно количество
    Спасибо, решение нашел в инете. COUNT лепил, но так криво объяснено, что не смог правильно использовать его и это грустно, т.к. трачу уйму времени на понимание простых вещей изложенных очень неудобно.

  11. #11
    Аватар для Dnepr
    Реєстрація
    28 лютий 2008
    Дописів
    15 979

    Типово

    А что там с картошкой, не срослось?

  12. #12
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Цитата Допис від Dnepr Переглянути допис
    А что там с картошкой, не срослось?
    Да как-то не получилось. Хотя мне работа нравилась и ролики те что сделал получились отличными

  13. #13

    Реєстрація
    23 січень 2007
    Звідки Ви
    US, CA
    Дописів
    695

    Типово

    Для первого вопроса я бы предложил такой вариант
    SELECT T.model,
    T.price
    FROM Product
    INNER JOIN
    (
    SELECT model,
    Price
    FROM Laptop
    UNION ALL
    SELECT
    model,
    price
    FROM PC
    UNION ALL
    SELECT model,
    price
    FROM Printer
    ) AS T(model, price) ON T.model = Product.model
    WHERE Product.maker = 'B';

    И посоветовал, прежде чем "лезть в бой" почитать внимательно теорию и понять фундаментальные вещи.
    Востаннє редагував kostyan_s: 27.04.2014 о 05:19
    Per aspera ad astra

  14. #14

    Реєстрація
    23 січень 2007
    Звідки Ви
    US, CA
    Дописів
    695

    Типово

    Цитата Допис від atx.dp.ua Переглянути допис
    по поводу запроса
    выбрать из всех таблиц уникальные записи и объединить

    Spoiler Spoiler: Ваш запрос 
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN pc b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN laptop b ON a.model = b.model
    WHERE maker = 'B'
    UNION
    SELECT DISTINCT
    a.model ,
    b.price
    FROM product a
    INNER JOIN Printer b ON a.model = b.model
    WHERE maker = 'B'




    насчет запоминать, никто запоминать не требует
    упрощенно порядок логических операций
    Зачем Вы учите неправильным вещам?
    1. Зачем DISTINCT если оператор объеденения UNION выполняет неявное устранение дубликатов ?
    2. В условии задачи сказано найти номера и цены ВСЕХ продуктов. Зачем впринципе устрание дубликатов, Вы неуверены в том что будет в результате ?

    ЗЫ. Использование DISTINCT не есть признаком хорошего стиля.
    Per aspera ad astra

  15. #15
    Аватар для atx.dp.ua
    Реєстрація
    12 серпень 2010
    Звідки Ви
    Днепропетровск
    Дописів
    874

    Типово

    Цитата Допис від kostyan_s Переглянути допис
    Зачем Вы учите неправильным вещам?
    1. Зачем DISTINCT если оператор объеденения UNION выполняет неявное устранение дубликатов ?
    2. В условии задачи сказано найти номера и цены ВСЕХ продуктов. Зачем впринципе устрание дубликатов, Вы неуверены в том что будет в результате ?

    ЗЫ. Использование DISTINCT не есть признаком хорошего стиля.
    1. возможно использование distinct лишнее
    SELECT 1
    UNION
    SELECT 1
    в результате выдаст 1 запись
    1
    2. В результате уверен.

    Спасибо за совет
    Востаннє редагував atx.dp.ua: 27.04.2014 о 23:31
    Ремонт компьютерных блоков питания atx 050-499-0-500 Сергей
    Продажа блоков питания ATX

  16. #16

    Реєстрація
    23 січень 2007
    Звідки Ви
    US, CA
    Дописів
    695

    Типово

    Цитата Допис від atx.dp.ua Переглянути допис
    1. возможно использование distinct лишнее
    SELECT 1
    UNION
    SELECT 1
    в результате выдаст 1 запись
    1
    2. В результате уверен.

    Спасибо за совет
    На здоровье
    Per aspera ad astra

  17. #17
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Цитата Допис від kostyan_s Переглянути допис
    Для первого вопроса я бы предложил такой вариант


    И посоветовал, прежде чем "лезть в бой" почитать внимательно теорию и понять фундаментальные вещи.
    Почитать теорию где? Не подскажите? В первом сообщении жаловался, на свое тугое понимание изложения теории. Возможно есть более удачные варианты. Задача, решение которой подсказал ATX мне не кажется сложной, но только когда разобрался, но разобрался то с человеческой помощью, а не через обезличенный гугл. Возможно скажете, что лучше самому понять - согласен, неплохой вариант, но мне гораздо больше понятнее, когда объясняют люди. Иначе бы и преподавателей не существовало бы в природе. Да и быстрее гораздо. Не мое сидеть над задачей продолжительное время. Тем более над такой.

  18. #18
    Аватар для atx.dp.ua
    Реєстрація
    12 серпень 2010
    Звідки Ви
    Днепропетровск
    Дописів
    874

    Типово

    Понимание SQL. Мартин Грубер
    как вариант прочтите
    вам будет интереснее задавать вопросы
    Ремонт компьютерных блоков питания atx 050-499-0-500 Сергей
    Продажа блоков питания ATX

  19. #19

    Реєстрація
    23 січень 2007
    Звідки Ви
    US, CA
    Дописів
    695

    Типово

    Цитата Допис від MaJ0r Переглянути допис
    Почитать теорию где? Не подскажите? В первом сообщении жаловался, на свое тугое понимание изложения теории. Возможно есть более удачные варианты. Задача, решение которой подсказал ATX мне не кажется сложной, но только когда разобрался, но разобрался то с человеческой помощью, а не через обезличенный гугл. Возможно скажете, что лучше самому понять - согласен, неплохой вариант, но мне гораздо больше понятнее, когда объясняют люди. Иначе бы и преподавателей не существовало бы в природе. Да и быстрее гораздо. Не мое сидеть над задачей продолжительное время. Тем более над такой.
    Если с английским дружите то Itzik Ben-Gan как автор - лучший Почти все книги есть в pdf. Гляньте вот эту книгу http://www.amazon.com/Inside-Microso...=itzik+ben-gan

    ЗЫ. Сам ресурс sql-ex.ru по себе уже хороший старт. Насколько я помню там есть учебные курс + кое какие материалы по теории. Похоже они мувнули их сюда http://www.sqlbooks.ru/scripts.aspx?lang=rus .
    Востаннє редагував kostyan_s: 29.04.2014 о 02:09
    Per aspera ad astra

  20. #20
    Оверклокер года 2010, 2012 Аватар для MaJ0r
    Реєстрація
    18 серпень 2008
    Звідки Ви
    XtremeLabs.org
    Дописів
    12 345

    Типово

    Опять трабл с сиквелом
    Задача: Find all topics modified during last 24 hours sorted by modification date (Recent Activity page functionality)
    Т.е. есть таблица топик и есть один измененный топик с названием поля modification_date
    Запрос SELECT * FROM TOPIC
    where MODIFICATION_DATE BETWEEN '2014-05-13 23:23:52' AND '2014-05-12 23:23:52' не выводит этот топик
    А вот запрос
    SELECT * FROM TOPIC
    where MODIFICATION_DATE = '2014-05-13 19:53:52'
    Вполне работает. Что нужно отредактировать или по-другому как-то запрос составить?

Сторінка 1 з 3 123 ОстанняОстання

Bookmarks

Bookmarks

Ваші права у розділі

  • Ви НЕ можете створювати нові теми
  • Ви НЕ можете відповідати у темах
  • Ви НЕ можете прикріплювати вкладення
  • Ви не можете редагувати свої повідомлення
  •  
  Головна | Афіша | Новини | Куди піти | Про місто | Фото | Довідник | Оголошення
Контакти : Угода з користивачем : Політика конфіденційності : Додати інформацію
Главная страница сайта  
copyright © gorod.dp.ua.
Всі права захищені. Використання матеріалів сайту можливо тільки з дозволу власника.
Про проєкт :: Реклама на сайті