ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #281  
Старый 20.09.2008, 17:29
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Сообщение от ++Norton++  
Naydav
Если я правильно понял, то попробуй так:
Код:
SELECT id, name, age FROM user INNER JOIN user_addithion ON user.id=user_addithion.userID AND 
user_addithion.someID=38 GROUP BY id;
Выведет юзеров, у которых user.id=user_addithion.userID. Соответственно их value будет равно 1, а остальных 0.
Мне нужно получить всех!!! юзеров, к каждому из которых добавляеться дополнительное поле 1 или 0(или пусто), которое береться в зависимости от наличия записи в другой таблице
 
Ответить с цитированием

  #282  
Старый 21.09.2008, 16:19
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Naydav, используй в качестве последнего поля конструкцию if

т.е. Select ...., IF(условие,1,0)

Примерно так (правильность не гарантирую, писал прям сюда, не проверял т.к. нет данных но принцип такой)

SELECT *, if(`u`.`id`=`ua`.`userid` AND `ua`.`someid`=38,1,0)
FROM `user` as `u` LEFT JOIN `user_addithion` as `ua` ON `u`.`id`=`ua`.`userid`
 
Ответить с цитированием

  #283  
Старый 22.09.2008, 22:04
Аватар для Chode
Chode
Участник форума
Регистрация: 20.07.2008
Сообщений: 177
Провел на форуме:
625939

Репутация: 54
Отправить сообщение для Chode с помощью ICQ Отправить сообщение для Chode с помощью AIM
По умолчанию

MySQL ERROR : 1 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation 'like'

ставил ставил, на mySQL 4-5 c разными кодировками, все равно не работает, хотя устаналивается нормально...

Последний раз редактировалось Chode; 22.09.2008 в 22:06..
 
Ответить с цитированием

  #284  
Старый 23.09.2008, 01:11
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от Chode  
MySQL ERROR : 1 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation 'like'

ставил ставил, на mySQL 4-5 c разными кодировками, все равно не работает, хотя устаналивается нормально...
Дело в том, что ты пытаешся сравнить строки с разной коллацией... приводи все к одной и сравнивай (либо базу к cp1251, либо строку к латин_шведиш)
 
Ответить с цитированием

  #285  
Старый 23.09.2008, 01:14
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от Shaitan-Devil  
Нужно осуществить поиск по БД.Т.е мы имеем опр. данные но не знаем в какой они таблиц,какой запрос нужно сформировать,или как это осуществить?
http://en.wikipedia.org/wiki/Full_text_search
http://ru.wikipedia.org/wiki/Полнотекстовый_поиск
А оттуда уже пляши
 
Ответить с цитированием

  #286  
Старый 23.09.2008, 10:02
Аватар для UnPazz
UnPazz
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
Провел на форуме:
668329

Репутация: 106
По умолчанию

скрипт форума smf 2.0 работает на PostgreSQL /MySQL.
Если сначала он будет работать на MySQL, то можно ли будет потом "преобразовать" данные из MySQL в PostgreSQL ?
 
Ответить с цитированием

  #287  
Старый 23.09.2008, 12:20
Аватар для ++Norton++
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

Репутация: 106
По умолчанию

Вроде можно. Скрипт называется neomy2pg. Вот здесь есть некоторая информация о нем:
_http://web.opennet.ru/opennews/art.shtml?num=6917
 
Ответить с цитированием

  #288  
Старый 26.09.2008, 22:58
Аватар для ++Norton++
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

Репутация: 106
По умолчанию

Мне кажется, можно только как-то так:
Код:
SELECT * FROM table1, table2, table3, tableN WHERE something=code
Тоесть осуществлять поиск по всем таблицам базы, задав условие, которое будет равняться этому самому коду.
 
Ответить с цитированием

  #289  
Старый 26.09.2008, 23:44
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от UnPazz  
mySQL база состоит из 20 таблиц. Нужно найти кусок кода - слово. Как осуществить поиск по все базе?
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
 
Ответить с цитированием

  #290  
Старый 27.09.2008, 03:29
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Цитата:
Сообщение от UnPazz  
скрипт форума smf 2.0 работает на PostgreSQL /MySQL.
Если сначала он будет работать на MySQL, то можно ли будет потом "преобразовать" данные из MySQL в PostgreSQL ?
PHP код:
<?php

$source 
"/home/shaggy/shaggy.sql";
$output "/home/shaggy/pgtest.sql";

$enum 'varchar(10)'// convert enum to this

if ( !file_exists($source) ) {
 die(
"File not found: $sourcen");
}

$fd fopen($source"r");
$result fread($fdfilesize($source));
fclose($fd);

$result mysql2postgre($result);

$fd fopen($output"w");
if (
fwrite($fd$result)) {
 echo 
"OKn";
} else {
 echo 
"Failedn";
}
fclose($fd);




function 
mysql2postgre($source) {
 global 
$enum;

 
$result $source;
 
$result preg_replace('/Type=MyISAM/i'''$result);

 
// convert line comments
 
$result preg_replace("/#(.*)/"'--$1'$result);
 
// and compress newlines
 
$result preg_replace("/n{2,}/""nn"$result);

 
// get rid of proprietary code
 
$result preg_replace("/DROP TABLE IF EXISTSW+.+/i"''$result);

 
// indices
 
$result preg_replace("/(.*)UNIQUE KEY.+((.+))/i",
 
"$1UNIQUE ($2)"$result);

 
// a little hack to save primary keys
 
$result preg_replace("/(.*)PRIMARY KEY.+((.+))/i",
 
"$1PRIMARY ($2)"$result);
 
$result preg_replace("/,n.*KEYW.+((.+))/i",
 
"n-- was KEY ($1)"$result);
 
$result preg_replace("/(.*)PRIMARY.+((.+))/i",
 
"$1PRIMARY KEY (\2)"$result);

 
$result preg_replace("/(.*?)(w+).+auto_increment/i",
 
'$1$2 SERIAL'$result);

 
// Postgre doesn't support the binary modifier
 
$result preg_replace('/binary/i'''$result);

 
// type transformations
 
$result preg_replace('/enum(.+)/i'$enum$result);

 
$result preg_replace('/tinyint(.+)/i''smallint'$result);
 
$result preg_replace('/smallint(.+)/i''smallint'$result);
 
$result preg_replace('/meduimint(.+)/i''int'$result);
 
$result preg_replace('/int(.+)/i''int'$result);

 
// Most of my default dates are '0000-00-00'
 
$result preg_replace("/datetime(.*) default '.*'/i",
 
'datetime$1'$result);
 
$result preg_replace("/date(.*) default '.*'/i",
 
'date$1'$result);


 return 
$result;
}

?>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ