Плюс к дате: select adddate(curdate(),rownum) ddate from (select @r:=@r+1 rownum, t.* from (select @r:=0)a, information_schema.tables t where @r < datediff('2010-02-01','2010-01-10'))x минус к дате: select adddate(curdate(),-rownum) ddate from (select @r:=@r+1 rownum, t.* from (select @r:=0)a, information_schema.tables t where @r < datediff('2010-02-01','2010-01-10'))x Code: datediff('2010-02-01','2010-01-10') тут задается кол-во дней + требуется так называемая "большая таблица", в которой записей не меньше, чем кол-во дней, в пример взята information_schema.tables http://www.sql.ru/Forum/actualthread.aspx?tid=667216&hl=adddate
А возможно без больших таблиц? Считать rownum каким нибудь циклом, или вроде того? Ведь если мне понадобится посчитать до числа большего чем кол-во строк в "большой таблице" (она ведь не бесконечна), то будет ошибка... В любом случае спасибо и за это =)
PHP: if($db->num_rows($db->query("SELECT * FROM users WHERE login='$_POST[login]';")) > 0) { echo 'login exists'; exit; }
Давай всмотримся и вдумаемся в то, что ты написал. Итак, грубые приближения: 1) ключевое слово WHERE... Оно одно, после него должен идти предикат; 2) "id = 1 AND id = 2".Т.е. id одновременно должен быть равен и 1, и 2. Немного странно, неправда ли? Думаю уместнее будет дизъюнкция Учитывая вышеизложенное, можем составить запрос: Code: UPDATE table SET col=val WHERE id=1 OR id=2; Уже должно работать... Но выглядит как то странновато, не правда ли? Особенно на больших наборах данных. Для подобных ситуаций был придуман оператор IN: Code: UPDATE table SET col=val WHERE id IN(1,2)
Нужно соеденить поля кабинетов и поля должностей в таблице сотрудник. Подскаите плиз в чем ошибка? синтаксис еще плохо знаю...ругается на запятую
одно поле объединяется,все ок: select * from sotrudnik left join kabinet on (kabinet.id_kabinet = sotrudnik.id_kabinet) Два поля не хочет почему-то... select * from sotrudnik left join (kabinet,dolzhnost) on (kabinet.id_kabinet = sotrudnik.id_kabinet AND dolzhnost.id_dolzhnost = sotrudnik.id_dolzhnost) думаю косяк в синтаксисе,не могу найти примеры двойные соединения нигде в нете ,не с чем сравнить(((
может быть поможет... http://www.softmatics.ru/sql/1.htm http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=732371
Дана база пользователей (users) : userid, name, email Дана база их обьявлений (listings) : id, author (в этом поле содержиться userid автора), text, glamur, redcent, refresh Последние 3 поля (т.е. glamur, redcent, refresh) содержат либо 1, либо 0. Пытаюсь сделать статистику пользователей. Для этого делаю запрос mysq_query("SELECT * FROM users LIMIT 100"), т.е. вывожу к примеру первые 100 пользователей. Как можно усложнить запрос так, что бы он для каждого пользователя смотрел ВСЕ их обьявления в базе listings, и, если находит хотя бы одно обьявление с полем glamur, равным 1, то к данной строчке в результате запроса прибавляется это поле с его результатом, то же самое мне нужно и для redcent и для refresh. Т.е. я хотел бы, что бы было так: $q = mysql_query('тут некий волшебный запрос, который мне нужен'); while($r=mysql_fetch_assoc){ массив $r как минимум будет содержать: $r['userid'] == id пользователя $r['glamur'] == 1, если хоть одно его обьявление содержит поле glamur с 1, иначе 0 $r['redcent'] и $r['refresh'] == аналогично как для glamur. } Как сделать так???
может SELECT `hp` FROM `qwerty` WHERE `id`=4 LIMIT 1 или тебе нужны все записи? тогда SELECT `hp` FROM `qwerty` LIMIT 0,100500 (100500 - сколько нужно)
Это не ошибка. mysql_query возвращает указатель на ресурс с результатом (собственно тот самый Resource id #4). Что бы получить сами данные, необходимо воспользоваться другими функциями. Почитай про: mysql_result mysql_fetch_array mysql_fetch_assoc