<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858125</guid>
        <pubDate>Tue, 25 Jan 2022 04:57:21 +0000</pubDate>
        <title>Поиск в таблице по условиям из этой же таблицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858125</link>
        <description><![CDATA[Akina: Да не нужен тут динамический SQL...<br>
<br>
<a class='tag-url' href='https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1341677&msg=22425546' target='_blank'>https://www.sql.ru/forum/actualutils.aspx?a...77&msg=22425546</a>]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858109</guid>
        <pubDate>Mon, 24 Jan 2022 14:12:14 +0000</pubDate>
        <title>Поиск в таблице по условиям из этой же таблицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858109</link>
        <description><![CDATA[MIF: Динамический заспрос решает проблему. Синтакс зависит от БД. Вот MS SQL код. Переведи на MySql:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">DECLARE @Sql nvarchar(4000)</div><div class="code_line">&nbsp;</div><div class="code_line">SELECT @Sql = &#39;SELECT TOP 1 [index] &#39; + </div><div class="code_line">&#39;FROM [table] &#39; + </div><div class="code_line">&#39;WHERE [index] != &#39; + cast([value] as varchar) + &#39; &#39;</div><div class="code_line">&#39; AND [minimum] &#60;= &#39; + cast([value] as varchar) + &#39; &#39;</div><div class="code_line">&#39; AND &#39; + cast([value] as varchar) + &#39; &#60;= [maximum] &#39; + </div><div class="code_line">&#39; AND &#39; cast([minimum] as varchar) + &#39; &#60;= [value] &#39; + </div><div class="code_line">&#39; AND [valu]e] &#60;= &#39; + cast(maximum as varchar) </div><div class="code_line">FROM [Table]</div><div class="code_line">WHERE [index] != 1</div><div class="code_line">AND [minimum] &#60;= 1</div><div class="code_line">AND 1 &#60;= [maximum]</div><div class="code_line">AND 3 &#60;= [value]</div><div class="code_line">AND [value] &#60;= 5</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">EXEC(@Sql)</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>MIF</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858105</guid>
        <pubDate>Mon, 24 Jan 2022 13:12:55 +0000</pubDate>
        <title>Поиск в таблице по условиям из этой же таблицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858105</link>
        <description><![CDATA[FateFlex: Собственно эти два SELECT как в хранимой процедуре разместить и как из результатов первого SELECT взять результат и уже по нему выполнить второй SELECT?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">DROP TABLE IF EXISTS `table`;</div><div class="code_line">CREATE TABLE `table`</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp; &nbsp;`index` BIGINT UNSIGNED PRIMARY KEY,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`value` TINYINT UNSIGNED NOT NULL,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`minimum` TINYINT UNSIGNED NOT NULL,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`maximum` TINYINT UNSIGNED NOT NULL</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">INSERT INTO `table` VALUES</div><div class="code_line">(1, 1, 3, 5),</div><div class="code_line">(2, 4, 5, 5),</div><div class="code_line">(3, 2, 2, 4),</div><div class="code_line">(4, 5, 4, 3),</div><div class="code_line">(5, 3, 1, 5);</div><div class="code_line">&nbsp;</div><div class="code_line">SELECT `value`, `minimum`, `maximum`</div><div class="code_line">FROM `table`</div><div class="code_line">WHERE `index` = 1;</div><div class="code_line">&nbsp;</div><div class="code_line">+-------+---------+---------+</div><div class="code_line">| value | minimum | maximum |</div><div class="code_line">+-------+---------+---------+</div><div class="code_line">| &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 3 | &nbsp; &nbsp; &nbsp; 5 |</div><div class="code_line">+-------+---------+---------+</div><div class="code_line">&nbsp;</div><div class="code_line">SELECT `index`</div><div class="code_line">FROM `table`</div><div class="code_line">WHERE `index` != 1</div><div class="code_line">AND `minimum` &#60;= 1</div><div class="code_line">AND 1 &#60;= `maximum`</div><div class="code_line">AND 3 &#60;= `value`</div><div class="code_line">AND `value` &#60;= 5</div><div class="code_line">LIMIT 1;</div><div class="code_line">&nbsp;</div><div class="code_line">+-------+</div><div class="code_line">| index |</div><div class="code_line">+-------+</div><div class="code_line">| &nbsp; &nbsp; 5 |</div><div class="code_line">+-------+</div></ol></div></div></div></div>]]></description>
        <author>FateFlex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858075</guid>
        <pubDate>Mon, 24 Jan 2022 06:24:01 +0000</pubDate>
        <title>Поиск в таблице по условиям из этой же таблицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=425273&amp;view=findpost&amp;p=3858075</link>
        <description><![CDATA[FateFlex: Здравствуйте.<br>
Очень охота сделать хранимую процедуру, которая:<br>
1 берёт запись по `index` из таблицы<br>
2 вынимает из этой записи условия поиска `value`, `minimum` и `maximum`<br>
3 ищет другие записи, `value` которых находится между `minimum` и `maximum` исходной записи (по `index`)<br>
4 причём собственное `value` записи (по `index`) должно встречно укладываться между `minimum` и `maximum` искомых записей<br>
<br>
Можно в хранимых процедурах MySQL такое сделать? Если можно, то хотелось бы ссылку на похожий пример хотя бы :)<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">DELIMITER $$</div><div class="code_line">&nbsp;</div><div class="code_line">DROP PROCEDURE IF EXISTS `find`;</div><div class="code_line">CREATE PROCEDURE `find` (IN `index` BIGINT UNSIGNED)</div><div class="code_line">BEGIN </div><div class="code_line">&nbsp;&nbsp; &nbsp;-- how to do ?</div><div class="code_line">END $$</div><div class="code_line">&nbsp;</div><div class="code_line">DELIMITER ;</div><div class="code_line">&nbsp;</div><div class="code_line">DROP TABLE IF EXISTS `table`;</div><div class="code_line">CREATE TABLE `table`</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp; &nbsp;`index` BIGINT UNSIGNED PRIMARY KEY,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`value` TINYINT UNSIGNED NOT NULL INDEX,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`minimum` TINYINT UNSIGNED NOT NULL INDEX,</div><div class="code_line">&nbsp;&nbsp; &nbsp;`maximum` TINYINT UNSIGNED NOT NULL INDEX</div><div class="code_line">);</div></ol></div></div></div></div>]]></description>
        <author>FateFlex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      </channel>
      </rss>
	