Вообще туго с мускулом Ну так: WHERE foo = NULL есть еще IS NULL и Функция IFNULL() читайте елы-палы mysql.ru, вообще читайте что нить! Можно даже Л.Толстого "Война и мир", читать полезнО!
Помогите составить сложный sql запрос. Есть две таблицы, в первой столбцы: id_pm id_pm_head id_member_from from_name msgtime subject body во второй столбцы: id_pm id_member и т.д., мне надо 1 запросом извлечь инфу из первой таблицы (конкретно - body, но по определенному критерию через WHERE ), а из второй выбрать id_member в тех записях, в которых id_pm такой же, как в первой таблице. Я пишу примерно так: Code: SELECT TABLE1.msgtime, TABLE1.body FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.id_pm = TABLE2.id_pm WHERE `from_name` = \"kot\"; Выводит данные лишь с первой таблицы. Куда мне вставить id_member, чтобы и его тоже вывело?
Code: SELECT TABLE1.msgtime, TABLE1.body, TABLE2.id_member FROM TABLE1, TABLE2 WHERE from_name = 'kot' AND TABLE1.id_pm = TABLE2.id_pm;
В таблице, неск. полей содержит текст. данные вида PHP: 123;23213;433523;4363243;464534 Необходимо выбрать такое поле, в котором нет опр. набора цифр (они передаются гет запросом). Извлекать по поочереди и перебрать средствами пхп не вариант. Нужен какой-то аналог ф-ии strstr в пхп. Если Выбрать то-то, то-то, WHERE (values,$_GET['123'])==false Как-то так я себе это представляю.
foma9999 http://www.mysql.ru/docs/man/String_functions.html LOCATE() и INSTR() вроде как. Но если записей в таблице много - так лучше не искать и подумать в сторону изменения таблицы
В таблицу добавляется продавец, товар(который он продает), товар может повторяться как бы сделать проверку на повторение товара, а если отсутствует все таки добавить его? Думаю select делать с именем товара слишком жирно. //upd зделал через тригер.
Привет античатовцы, помогите пожалуйста с нормализацией таблиц. Сделал общую таблицу, по-моему 1ую Норм форму, помогите разбить её до 3ей норм.формы. Заранее огромное спасибо,ну или намекните как это сделать. Структура моей таблицы: Тема - продажа пассажирских билетов на поезд Тип поезда Тип вагона Кол-во вагонов Цена Направление Время отр-ния Время прибытия Кол-во заказов Скидки
Смотри в книгах как приводить к нормальным формам. Вторая это по памяти по - моему когда отсутствуют частичные зависимости, а третья - когда отсутствуют транзитивные связи.
1-ая в каждой ячейке одно значение; 2-ая это 1ая + в каждой таблице ключ, хотя б суррогатный, а так же зависимостей не должно быть (т.е часто таблица при этом на еще таблички делится); 3-я это 2ая + не должно быть быть транзитивных зависимостей, т.е в какой то 1 таблице могут быть зависимости среди не ключевых полей (это транзитивность и ее не должно быть). Это конечно все на пальцах и коротко, а вообще вот что те надо
Помогите составить запрос.. Имеется таблица с 3 полями ip:fid:date Связка ip:fid уникальный индекс И мне нужно составить статистику.. Например какие файлы скачивали сегодня (fid - ид файла) делаю так: PHP: select distinct fid from mod_stat WHERE date BETWEEN '$ts' AND '$te' LIMIT 10 где $ts и $te время начала дня и конца дня (в юникс секундах) Но хотелось бы сразу вытащить и сколько фаил за сегодня скачали.. т.е получить на выходе массив ид:скачиваний Но с distinct нельзя использовать count(*) А т.к база через месяц будет огромна..Ну очень, хотелось бы лишний раз ее не ворошить и вытаскивать все сразу. И как выбрать самые скачиваемые файлы за сегодня? делаю так: PHP: select fid, count(*) from mod_stat WHERE date BETWEEN '$ts' AND '$te' group by date LIMIT 10 Но нужно еще как-то условие, чтоб count(fid) было MAX
-=Zhenek=- Не совсем понятно, что тебе надо с дистинктом Вроде ж как есть конструкция А вообще (если я тебя правильно понял), у меня похожая проблема была неделю назад, один трушный дядька мне посоветовал добавить лишнее поле(табличку) чисто с счетчиком(или что то похожеЕ, параметр по которому можно было определить в твоем случае скачку), по которому ты и будешь вытягивать САМЫЕ САМЫЕ простым SELECT MAX(field) /p.s надеюсь помог :-[
ну если юникстайм то возможно: SELECT fid, COUNT(fid) AS fidcount // фид и его кол-во FROM table // тэйбл WHERE DATE(FROM_UNIXTIME(date)) = CURDATE() // выборка записей за сегодня GROUP BY fid // группировка по фид ORDER BY fidcount DESC// сортировка по кол-ву LIMIT 10; // 10 самых
Подскажите как заменить NULL в полях на 0? вот так делаю Code: update Table1 set Score1 = replace(Score1, NULL, '0'); заменяет абсолютно все поля не только NULL на 0 а мне нужно только NULL