<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[My Visual Database — Поиск по двум и более полям одновременно в запросе]]></title>
		<link>https://myvisualdatabase.com/forum/viewtopic.php?id=9311</link>
		<atom:link href="https://myvisualdatabase.com/forum/extern.php?action=feed&amp;tid=9311&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Поиск по двум и более полям одновременно в запросе.]]></description>
		<lastBuildDate>Thu, 07 Aug 2025 18:22:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52854#p52854</link>
			<description><![CDATA[<p>Решил вот так возможно кому-нибудь пригодится такой вариант поиска:</p><div class="codebox"><pre><code>SELECT
lastname
,firstname
,secondname                   
,id     
          
FROM            
base

WHERE                  
ifnull(lastname||&#039; &#039;,&#039;&#039;) ||   
ifnull(firstname||&#039; &#039;,&#039;&#039;) ||
ifnull(secondname||&#039; &#039;,&#039;&#039;)
LIKE &quot;%{edSearch}%&quot; </code></pre></div><p>Всем спасибо!;)</p>]]></description>
			<author><![CDATA[null@example.com (finlimakki)]]></author>
			<pubDate>Thu, 07 Aug 2025 18:22:22 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52854#p52854</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52849#p52849</link>
			<description><![CDATA[<p>I used this statement in a &quot;SQL query&quot; button</p><br /><div class="codebox"><pre><code>SELECT DISTINCT
    Items.id AS ID,
    CASE WHEN finalizado = 1 THEN &#039;✔&#039; ELSE &#039; &#039; END AS Ok,
    Items.nome_item AS Item,
    ItemsTree.Name AS Tree
FROM Items
INNER JOIN ItemsTree ON Items.id_ItemsTree = ItemsTree.id
LEFT OUTER JOIN tbl_table ON Items.id = tbl_table.id_Items
LEFT OUTER JOIN tbl_campos ON tbl_table.id = tbl_campos.id_tbl_table
LEFT OUTER JOIN tbl_fld_tipos ON tbl_fld_tipos.id = tbl_campos.id_tbl_fld_tipos
WHERE
    IFNULL(Items.nome_item, &#039;&#039;) ||
    IFNULL(ItemsTree.Name, &#039;&#039;) ||
    IFNULL(Items.notas, &#039;&#039;) ||
    IFNULL(Items.texto_rtf, &#039;&#039;) ||
    IFNULL(tbl_table.nome_tabela, &#039;&#039;) ||
    IFNULL(tbl_table.descricao, &#039;&#039;) ||
    IFNULL(tbl_table.notas, &#039;&#039;) ||
    IFNULL(tbl_campos.name, &#039;&#039;) ||
    IFNULL(tbl_fld_tipos.Name, &#039;&#039;) ||
    IFNULL(tbl_campos.descricao, &#039;&#039;) ||
    IFNULL(tbl_campos.notas, &#039;&#039;)
LIKE &quot;%{Edit_busca}%&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (jrga)]]></author>
			<pubDate>Wed, 06 Aug 2025 15:08:30 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52849#p52849</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52846#p52846</link>
			<description><![CDATA[<p>Derek already provided such a solution in the last example, searching for any combination of each field and any place in it. It can only be simplified a little.</p><br /><br /><p>Дерек уже предоставил такое решение в последнем примере, поиск по любой комбинации из каждого поля и любого места в нем. Можно только чуть упростить его.<br />А запрос finlimakki нерабочий.</p>]]></description>
			<author><![CDATA[null@example.com (sparrow)]]></author>
			<pubDate>Wed, 06 Aug 2025 10:47:57 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52846#p52846</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52844#p52844</link>
			<description><![CDATA[<div class="quotebox"><cite>derek wrote:</cite><blockquote><p>Привет Finlimakki, Konstantin,<br />Возможно, я не понимаю вашу проблему, но всё же думаю, что можно просто использовать «вычисляемое поле» вместо «SQL-запроса».<br />В приложении (аналогично предыдущему) вы можете использовать «вычисляемое поле» для поиска по имени и/или фамилии и/или отчеству.<br />По всем трём параметрам можно выполнять поиск полностью или частично и в любой последовательности. Просто вводите «пробел» между любыми элементами поиска.<br />Не понимаю, чего ещё вы пытаетесь добиться.<br />Derek.</p></blockquote></div><p>Finlimakki хочет искать по вхождению по трём полям, одновременно, но при этом использовать одно поле ввода, в которое будет вводить через пробел куски для поиска в каждом поле. </p><br /><p>В русском языке есть такая поговорка: охота хуже неволи. <img src="https://myvisualdatabase.com/forum/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Wed, 06 Aug 2025 04:49:37 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52844#p52844</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52843#p52843</link>
			<description><![CDATA[<div class="quotebox"><cite>finlimakki wrote:</cite><blockquote><p>я в action на кнопку поиска вешаю запрос выше и пытаюсь сложить два поля почему это не работает?</p><div class="codebox"><pre><code>SELECT
lastname
,firstname
,secondname
,id

FROM
base                                                                   

WHERE
lastname + &#039; &#039; + firstname LIKE &#039;%{edSearch}%&#039; OR  
firstname LIKE &#039;%{edSearch}%&#039; OR 
secondname LIKE &#039;%{edSearch}%&#039;</code></pre></div></blockquote></div><p>Ваш запрос работает, но не для частичного совпадения (вхождения), а для полного совпадения набранного текста с фамилией и именем. Если нужен поиск по вхождению, сделайте так, как я написал выше.</p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Wed, 06 Aug 2025 04:45:43 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52843#p52843</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52842#p52842</link>
			<description><![CDATA[<p>Привет Finlimakki, Konstantin,<br />Возможно, я не понимаю вашу проблему, но всё же думаю, что можно просто использовать «вычисляемое поле» вместо «SQL-запроса».<br />В приложении (аналогично предыдущему) вы можете использовать «вычисляемое поле» для поиска по имени и/или фамилии и/или отчеству.<br />По всем трём параметрам можно выполнять поиск полностью или частично и в любой последовательности. Просто вводите «пробел» между любыми элементами поиска.<br />Не понимаю, чего ещё вы пытаетесь добиться.<br />Derek.</p>]]></description>
			<author><![CDATA[null@example.com (derek)]]></author>
			<pubDate>Tue, 05 Aug 2025 19:25:31 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52842#p52842</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52841#p52841</link>
			<description><![CDATA[<div class="quotebox"><cite>k245 wrote:</cite><blockquote><p>Не знаю, зачем вам такие сложности, но можно сделать так: </p><br /><p>Пользователь набирает текст в строке поиска. На событие OnChange навешивается скрипт, который парсит набранный текст и определяет, что там набрано: 1) фамилия, 2) фамилия и имя 3) фамилия, имя и отчество. И разносит это в три строковые переменные, из которых собирается нужный SQL-запрос - по кусочку в каждое поле таблички. <br />Правила парсинга (как я понял из вашего описания) - пробелом разделяются куски текста, чтобы понять, где что находится. Можно использовать SplitString() - эта функция разделяет текст на строковый массив. Подготовленный SQL нужно поместить в свойство dbSQL (кнопки или таблицы - как вам удобней) и обновить данные ( вызвать метод Click или dbUpdate). </p><br /><p>Можно навесить обработчик OnClick на кнопку и там все делать, а поле ввода текста фильтра связать с кнопкой свойством Increm.Search</p></blockquote></div><p>я в action на кнопку поиска вешаю запрос выше и пытаюсь сложить два поля почему это не работает?</p><div class="codebox"><pre><code>SELECT
lastname
,firstname
,secondname
,id

FROM
base                                                                   

WHERE
lastname + &#039; &#039; + firstname LIKE &#039;%{edSearch}%&#039; OR  
firstname LIKE &#039;%{edSearch}%&#039; OR 
secondname LIKE &#039;%{edSearch}%&#039;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (finlimakki)]]></author>
			<pubDate>Tue, 05 Aug 2025 17:03:51 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52841#p52841</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52839#p52839</link>
			<description><![CDATA[<p>Не знаю, зачем вам такие сложности, но можно сделать так: </p><br /><p>Пользователь набирает текст в строке поиска. На событие OnChange навешивается скрипт, который парсит набранный текст и определяет, что там набрано: 1) фамилия, 2) фамилия и имя 3) фамилия, имя и отчество. И разносит это в три строковые переменные, из которых собирается нужный SQL-запрос - по кусочку в каждое поле таблички. <br />Правила парсинга (как я понял из вашего описания) - пробелом разделяются куски текста, чтобы понять, где что находится. Можно использовать SplitString() - эта функция разделяет текст на строковый массив. Подготовленный SQL нужно поместить в свойство dbSQL (кнопки или таблицы - как вам удобней) и обновить данные ( вызвать метод Click или dbUpdate). </p><br /><p>Можно навесить обработчик OnClick на кнопку и там все делать, а поле ввода текста фильтра связать с кнопкой свойством Increm.Search</p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Tue, 05 Aug 2025 06:50:08 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52839#p52839</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52831#p52831</link>
			<description><![CDATA[<div class="quotebox"><cite>derek wrote:</cite><blockquote><p>Привет,<br />Обычный способ поиска по нескольким полям состоит в том, чтобы использовать рассчитанное поле для объединения столько полей, сколько вы хотите.<br />Посмотрите, как определяется поле «cfsearch» в схеме данных в прилагаемом примере.<br />Переместите мышь в нижнюю часть экрана, чтобы отобразить параметры.<br />С уважением,<br />Derek.</p></blockquote></div><p>Не это не то, я делаю поиск через sql-запрос вот такого типа:</p><div class="codebox"><pre><code>SELECT
lastname
,firstname
,secondname
,id

FROM
base                                                                   

WHERE
lastname LIKE &#039;%{edSearch}%&#039; OR  
firstname LIKE &#039;%{edSearch}%&#039; OR 
secondname LIKE &#039;%{edSearch}%&#039;</code></pre></div><p>и нужно чтобы находило по всем полям при вводе одновременно имя, фамилии и отчества</p>]]></description>
			<author><![CDATA[null@example.com (finlimakki)]]></author>
			<pubDate>Sun, 03 Aug 2025 13:29:21 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52831#p52831</guid>
		</item>
		<item>
			<title><![CDATA[Re: Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52828#p52828</link>
			<description><![CDATA[<p>Привет,<br />Обычный способ поиска по нескольким полям состоит в том, чтобы использовать рассчитанное поле для объединения столько полей, сколько вы хотите.<br />Посмотрите, как определяется поле «cfsearch» в схеме данных в прилагаемом примере.<br />Переместите мышь в нижнюю часть экрана, чтобы отобразить параметры.<br />С уважением,<br />Derek.</p>]]></description>
			<author><![CDATA[null@example.com (derek)]]></author>
			<pubDate>Sat, 02 Aug 2025 23:21:09 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52828#p52828</guid>
		</item>
		<item>
			<title><![CDATA[Поиск по двум и более полям одновременно в запросе]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=52827#p52827</link>
			<description><![CDATA[<p>Подскажите как я могу осуществить поиск сразу по нескольким полям? <br />Например, есть поле фамилия и имя, и если я ввожу в поле поиска фамилию, то результат находит все схожие фамилии, далее сужаем поиск и вводим через пробел еще и имя и получаем еще меньше строк результата, ну и так далее.</p>]]></description>
			<author><![CDATA[null@example.com (finlimakki)]]></author>
			<pubDate>Sat, 02 Aug 2025 18:55:06 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=52827#p52827</guid>
		</item>
	</channel>
</rss>
