|
MySQL.RU - Webboard
Вернуться
Возможно ли составить такой запрос? (seyfer) 13/12/2011 - 07:39:28
Re: Возможно ли составить такой запрос? (seyfer) 13/12/2011 - 09:08:11
Re: Возможно ли составить такой запрос? (seyfer) 13/12/2011 - 10:51:24
Re: Возможно ли составить такой запрос? (Akina) 13/12/2011 - 18:05:22
Re: Возможно ли составить такой запрос? (seyfer) 14/12/2011 - 04:56:35
Re: Возможно ли составить такой запрос? (seyfer) 15/12/2011 - 12:39:18
From: seyfer - 13/12/2011 - 07:39:28
Subject:Возможно ли составить такой запрос?
-----------------
Добрый день.
Есть две базы на 5000 и 20000 записей:
--
-- Table structure for table `debtors`
--
CREATE TABLE IF NOT EXISTS `debtors` (
`users_id` int(11) NOT NULL DEFAULT '0',
`full_name` varchar(255) NOT NULL,
`actual_address` varchar(255) NOT NULL,
`building` varchar(15) NOT NULL,
`flat_number` varchar(15) NOT NULL,
`work_telephone` varchar(100) NOT NULL,
`home_telephone` varchar(100) NOT NULL,
`mobile_telephone` varchar(100) NOT NULL,
`balance` float NOT NULL DEFAULT '0',
`credit` float NOT NULL DEFAULT '0',
`services` varchar(255) NOT NULL,
`tariff_name` varchar(120) NOT NULL DEFAULT ' ',
`account_id` int(11) NOT NULL DEFAULT '0',
`block_start_date` int(11) NOT NULL DEFAULT '0',
`is_juridical` int(11) NOT NULL DEFAULT '0',
KEY `users_id` (`users_id`),
KEY `users_id__is_juridical` (`users_id`,`is_juridical`),
KEY `is_juridical__block_start_date` (`is_juridical`,`block_start_date`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- --------------------------------------------------------
--
-- Table structure for table `rayon`
--
CREATE TABLE IF NOT EXISTS `rayon` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`street` varchar(255) NOT NULL,
`area_id` int(5) NOT NULL,
`house` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=21984 ;
Мне надо выбрать только те записи из дебторс, где район ид равен выбранному, дом в дебторс равен дому в районе.
area_id = 1 AND house = building
И главное - улицы из базы район, которые похожи/входят в адреса дебторов. Базы не нормализованны, так что адреса отличаются, но в базе района они только строкой, например Ленина, а в адресах дебторов с домом и квартирой, например Ленина 77-22.
Думал составить как-то так:
SELECT debtors.*, FROM_UNIXTIME(block_start_date) AS date
FROM debtors, rayon
WHERE area_id = 1 AND house = building
AND actual_address LIKE '%street%'
ORDER BY date DESC
Но в street не подставляет значение, и в итоге выбирается 0 записей. Если сам подставляю Ленина, то находит записи.
Хотелось бы обойтись без php и циклов.
Возможно?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
40825
|
|