Database
Solving problems and issues related to various DBMS
Explore Questions
There are no popular questions to show right now
-
0 votes2 answers
-
0 votes0 answers
-
0 votes1 answer
-
0 votes1 answer
-
0 votes1 answer
319 questions in this forum
-
Как организовать хранение картинок?
Как лучше организовать хранение картинок на публицистическом сайте? Вот, например, беру я сайт известного журнала, адреса картинок такие: http://s1.******.net/MediaStorage/fca42f87066e4267883d3604fe52.jpg Неужели они все в одной папке лежат?
0 votes2 answers -
LIMIT
SELECT product_id, shop_id, price FROM product_shop WHERE product_id IN ( 43, 44 ) ORDER BY product_id, price ASC Этот запрос выводит все магазины по мере возрастания цены на продукт. Как построить запрос чтобы выводило по 5 магазинов с самыми дешевыми ценами. результат product_id|shopid|price 43|12|21.00 43|435|24.00 43|53|28.00 43|22|28.50 43|32|30.00 product_id|shopid 44|2323|114.00 44|5|116.00 44|153|134.00 44|11|156.00 44|52|167.00
0 votes6 answers -
Сортировка в SELECT по разности полей
Есть два поля article_likes, article_dislikes Возможно ли отсортировать SELECT по разности этих полей? Могу только выбрать это значение: SELECT (article_likes - article_dislikes) AS rating а вот ORDER BY (rating) или (article_likes - article_dislikes) не работает, выручите плиз
0 votes4 answers -
Не сложный sql запрос
Есть таблица id_product и id_user Нужно выловить id_user в которых в наличии определенные товары например 1,4,7,8 только все. Если в какого то user_id нет товара из списка то он не учитывается. Это не катит так как выведет всех в которых хотябы есть один из товаров select user_id FROM table WHERE id_product in(1,4,7,8) В голову лезет только count()
0 votes2 answers -
Не могу составить SQL запрос
Нужно составить запрос в котором будет 2 подсчета товаров по региону и всего(то есть не учитывая регион) То что я сделал считает без выборки региона. Могу сделать 2-мя запросами но для общего развития нужно 1-м Запрос SELECT product.id, product.name, count( product.id ) AS all_region FROM product JOIN user_product ON product.id = user_product.product_id WHERE product.id IN ( 1, 2 ) GROUP BY product.id База CREATE TABLE IF NOT EXISTS `product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ; -- -- Dumping data for table `product` -- INSERT INTO `product` (`id`, `na…
0 votes4 answers -
Запрос группировки
Добрый день Помогите с составлением запроса группировки, но с такой особенностью: Есть таблица, которую нужно сгруппировать по значению определенного столбца (с подсчетом кол-ва). Само по себе это понятно просто и вопросов не вызывает т.е. как-то так: SELECT var_1, COUNT(*) AS qlt FROM table_1 LEFT JOIN `table_2` ON table_1.code=`table_2`.CODE GROUP BY table_1.code ORDER BY var_2-- но есть нюанс: нужно чтобы строки со значением code='' (т.е.пустое поле) и со значением code=-1 попали в одну группу и соответственно подсчитались вместе как одна группа. Как можно это составить в одном запросе, если можно конечно. Я пока кроме как сделать дополнительно к основному еще дв…
0 votes0 answers -
человеко-удобная сортировка
Приветствую! Есть таблица, сортируемая по полю varchar вот так: склад №1 склад №11 склад №2 склад №22 склад №3 склад №33 склад №4 склад №44 склад №5 склад №55 ... и т.д. возможно ли без ввода дополнительных столбцов в таблицу отсортировать эти значения по-человечески - склад №1,№2 и т.д?
0 votes8 answers -
Выделение строк с фильтром уникальных значений
Имеется таблица с сообщениями посетителей. id | user_id | text | date 1 1 .... xxxx99 2 2 .... xxxx98 3 3 .... xxxx97 4 1 .... xxxx96 5 3 .... xxxx95 6 4 .... xxxx94 7 5 .... xxxx93 8 2 .... xxxx92 9 1 .... xxxx91 10 6 .... xxxx90 ........... ........... ........... id = это понятно, просто счетчик. user_id = идентификаторы пользователей, должны участвовать в запросе в качестве фильтра text = не важное поле. data = дата последнего сообщения Как видно в таблице имеются одинаковые авторы сообщений пользователь с id=1 оставил 3 сообщения пользователь с id=2 оставил 2 сообщения пользователь с id=3 оставил 2 сообщения остальные пользоваетли оставили по одному сообщению Н…
0 votes0 answers -
Осуществление поиска по дате
Привет! Помогите пожалуйста решить такую задачу. Как сделать поиск по дате (PS - Как должен выглядеть запрос из базы)? В базе поле DATE и способом MATCH - AGAINST не выходит так как в базе нельзя на поле DATE проставить индекс по тексту
0 votes3 answers -
Строение таблицы журнала оценок
Форумчане, срочно требуется ваша помощь. Не могу в голове представить, как нужно организовать журнал оценок для класса. Помогите пожалуйста, горит очень срочно
0 votes3 answers -
Помогите придумать структуру таблиц
Нужно создать вот такой прайс на сайте: +--------+-------------+-------------+-------------+ | | Категория 1 | Категория 2 | Категория 3 | +--------+-------------+-------------+-------------+ | Цена 1 | 10 руб. | 30 руб. | 25 руб. | +--------+-------------+-------------+-------------+ | Цена 2 | 50 руб. | 100 руб. | 70 руб. | +--------+-------------+-------------+-------------+ Как бы так организовать таблицы, чтоб было потом минимум запросов к БД? Пока ничего лучше не придумал чем создать 2 таблицы (категория и цена) и делать в цикле запросы к БД, чтоб собрать в массив цены по всем категориям. У меня очень мало опыта в БД, да и решение ка…
0 votes22 answers -
Помогите с запросом
Есть таблица с 3мя полями. Одно "num" - int, не auto increment, остальные, "title" и "content" - varchar. Вывожу в textarea содержимое content, правлю и пытаюсь записать обратно. Запрос такой $sql = "INSERT INTO content(content) VALUES('".$_POST['edit']."')"; Пишет Field 'num' doesn't have a default value До этого поле num было auto increment. Пробовал выполнить запрос $sql = "INSERT INTO content(title,content) VALUES('','".$_POST['edit']."')"; Выполняется без ошибок, а результат какой был такой и остается. Собственно требуется записать только отредактированное поле content, остальные не трогать. Подскажите как записать отредактированное поле content ?!
0 votes3 answers -
Ошибка.
Вот она ошибка: Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '127.0.0.1' (10061) in C:\Program Files\Apache Group\Apache2\htdocs\testmysql.php on line 7. Пхп установлен, в кач-ве модуля. Mysql включал через консоль,никаких ошибок не было, в службах статус 'работает'. libmsql.dll осторожно перекинута в систем32. Но вот имя сервиса MySQL51,может ли быть проблема в этом?При вызове phpinfo, есть отдельный столбец mysql. Вот сам скрипт(был скопирован с инструкции по установке апача,пхп,мускул),которым производится проверка: <?php $dblocation = "127.0.0.1"; $dbname = "test"; $dbuser = "root"; $dbpasswd = "parol11"; …
0 votes9 answers -
Мистика Mysql
Привет! Пишу свой mail клиент, необходимо загрузить письма в БД, есть запрос на добавление нового письма: Проблема в том, что если этот запрос отправить через mysql_query - поле `body` остается пустым, при этом ошибок в мускул не наблюдается, НО если его закинуть ручками через мускул-клиент, то все в порядке.. Но так не со всеми письмами, есть которые нормально пишутся.. Подскажите плиз, что за хрень?
0 votes5 answers -
Скрипт поиска
Привет!!! Помогите с поиском У меня такой запрос $result = mysql_query("SELECT * FROM tovar WHERE MATCH(text) AGAINST('$sear')");? правдо этот метод несколько устарел но тем не менее исчет но когда добавляю в условие чтобы он еще искал и по заголовкам то сразу выдает ошибку $result = mysql_query("SELECT * FROM tovar WHERE MATCH(title,text) AGAINST('$sear')");
0 votes7 answers -
Вложенные запросы в конструкции where
Скажите, вложенные запросы в конструкции where выполняются один раз или несколько? Например, я хочу удалить устаревшие записи, так, что бы осталось всего 100. Какой запрос будет экономичнее: delete fom tab where (select max(id) from tab) - 100 > id или delete fom tab where $max_id - 100 > id , где $max_id = $db->query('select max(id) from tab') ?
0 votes6 answers -
Запрос множества данных
Хотел сделать нечто вроде системы подбора коктейлей по разным критериям, данные при этом разбросаны по разным таблицам. Как в таком случае лучше поступить или другими словами, что будет быстрее работать или проще реализовать? 1. Один уберзапрос с подключением всех нужных таблиц. 2. Запрос к одной таблице, формирование массива на PHP и затем ряд простых запросов с выкидываением из массива элементов, не подходящих под условия. 3. Создание ряда временных таблиц после каждого простого запроса.
0 votes5 answers -
Безопасность доступа к БД
Приветствую. На моём хостинге команда GRANT отключена и пользователь БД обладает всеми правами. В базе данных есть таблица users, в которой только две записи - администратор и модератор, регистрация пользователей не предусмотрена. Насколько это безопасно и нет ли какого-нибудь иного способа установить привилегии, кроме GRANT?
0 votes0 answers -
Как хранить логин и парольна сервере?
Здравствуйте. Я сделал сайт на php+mysql. На локальной машине данные для доступа к mysql храню в файле php. Что-то типа такого: <?php $hostname='localhost'; $meta_un='passw'; $meta_pw='12345'; $database='mybase'; ?> Подскажите, как безопасно хранить такие данные на сервере?
0 votes2 answers -
SQLite как СУБД для сайта
Возникло желание попытаться использовать в качестве базы для сайта/блога SQLite. Вроде бы на первый взгляд почти по всем параметрам подходит: данные хранить умеет, небольшую нагрузку, по отзывам, держит (явно даже сотню тысяч хитов держать не придется), все лежит в файле (бекапить должно быть удобно), чтение неблокирующее. А вот с записью вопрос. Запись блокирующая. То есть если обслуживается сайт, не предполагающий интерактива от пользователей (визитка, промо, прайс и т. п.) — все ОК, контент меняет администратор (1 шт.), одновременные попытки записи практически исключены. А вот если есть комментарии, или речь вообще о блоге или онлайн-игре (пусть и ненагруженной), то ве…
0 votes2 answers -
Задачка с JOIN
Есть 2 таблички (продукты, наличие продуктор в юзеров) Делаю запрос в котором нужно вывести продукты и юзера SELECT * FROM product LEFT JOIN isset ON isset.product_id = product.id Получаю Теперь нужно определенного юзера Делаю запрос SELECT * FROM product LEFT JOIN isset ON isset.product_id = product.id WHERE isset.user_id = 1 Получаю А нужно чтобы вывело (и Кофе) как в первом варианте только без второго юзера
0 votes2 answers -
запрос и вывод MySQL
Подскажите пожалуйста, как задать запрос к бд, чтобы вывести на стр число, которое будет равным количеству статей в базе пример: СТАТЬИ (25)
0 votes8 answers -
Ошибка БД
Вот php код: $mysql = mysql_connect('localhost','abc','def'); mysql_select_db('db',$mysql); if(mysql_query('INSERT INTO video (name,html,about,date) VALUES('.$name.', '.$html.', '.$about.', '.$date.')')){ вот код ошибки: что я сделал не правильно?
0 votes4 answers -
Арифметика значений ячеек в mysql
Приветствую. Прекрасно знаю, что в мускуле реализованы арифметические выражения. Однако не могу понять, как они применяются непосредственно к значениям ячеек. Погуглив, ничего толкового не обнаружил. Имеются поля: table: id - int(11) auto_increment; = 500 position - int(11) not null; = 10 На текущий момент запрос инкремента значения выглядит так, но он не работает: UPDATE table SET (position = position + 1) WHERE id = 500" Подскажите, пожалуйста, как правильно составить запрос?
0 votes4 answers -
объединение одной и той же таблицы
Добрый день. Пожалуйста, помогите довести до ума запрос или подскажите правильное решение. Есть таблица, в которой хранятся "вакансии" и "резюме" Надо сделать : 1) Подсчитать кол-во вакансий и резюме по отдельности 2)Вывести последние пять вакансий и резюме Попробовал сделать такой запрос <?php /* этот запрос считает кол-во "вакансий" и "резюме" по отдельности будет вложен во второй запрос */ $dr_query = "SELECT `direction` AS `direc`, COUNT(`direction`) AS `Tdirec` FROM ".$table_vr." WHERE `status` = 'show' GROUP BY `direction`"; /* результат работы запроса Array ( [direc] => вакансия …
0 votes4 answers