<?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=415150&amp;view=findpost&amp;p=3820946</guid>
        <pubDate>Wed, 12 Feb 2020 08:48:35 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3820946</link>
        <description><![CDATA[Black Star: А если сервер поддерживает Federated таблицы, то все намного проще...]]></description>
        <author>Black Star</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803381</guid>
        <pubDate>Wed, 10 Jul 2019 14:25:36 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803381</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803366'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T10:29:37+00:00">10.07.19, 10:29</time></span><div class='quote '>Возможное решение-костыль.</div></div><br>
Не думаю что это костыль, если оно будет работать так, как я думаю, то это оптимальный вариант. Спасибо сейчас затестим.<br>
<br>
Это песня, это сказка  :D  Работает очень быстро и никакой это не костыль, а имхо оптимальное решение.<br>
<br>
Спасибо большое <strong class='tag-b'>Akina</strong>&#33;]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803366</guid>
        <pubDate>Wed, 10 Jul 2019 10:29:37 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803366</link>
        <description><![CDATA[Akina: Возможное решение-костыль.<br>
<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">SELECT ManId, ManName, WomanId FROM bd1.Man;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Получаем, к примеру<br>
<table class='post_table tag-table'><tr><th>ManId</th><th>ManName</th><th>WomanId</th></tr><tr><td>11</td><td>Петя</td><td>111</td></tr><tr><td>12</td><td>Коля</td><td>112</td></tr><tr><td>13</td><td>Вася</td><td>113</td></tr></table><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">SELECT t1.ManName, bd2.WomanName</div><div class="code_line">FROM &nbsp; &nbsp; ( SELECT &#39;Петя&#39; ManName, 111 WomanId </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; UNION ALL</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT &#39;Коля&#39;, 112</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; UNION ALL</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT &#39;Вася&#39;, 113</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) AS t1 </div><div class="code_line">LEFT JOIN bd2.Woman ON t1.WomanId = bd2.WomanId;</div></ol></div></div></div></div><br>
и получаем в ответ<br>
<table class='post_table tag-table'><tr><th>ManName</th><th>WomanName</th></tr><tr><td>Петя</td><td>Клава</td></tr><tr><td>Коля</td><td>Оля</td></tr><tr><td>Вася</td><td>NULL</td></tr></table><br>
Последний NULL означает, что Вася ещё пока неженатый.]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803365</guid>
        <pubDate>Wed, 10 Jul 2019 10:17:43 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803365</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803362'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T10:12:04+00:00">10.07.19, 10:12</time></span><div class='quote '>Озвучьте версию второго MySQL. Можно крупно - 5 или 8?</div></div><br>
У меня скоро пять сайтов будет. Везде разные версии...<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803364'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T10:17:24+00:00">10.07.19, 10:17</time></span><div class='quote '>Заведите свой, третий, MySQL-сервер, и с него аттачьтесь к первым двум. Обойдётесь одним простым запросом.</div></div><br>
Не могу. На сервере, где запускаю скрипт отключен удаленный доступ к бд, точнее он есть но через ssh туннель.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803362'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T10:12:04+00:00">10.07.19, 10:12</time></span><div class='quote '>Можно, но бессмысленно. MySQL не понимает запросов в XML-формате.</div></div><br>
Очень печально. Может все-таки можно как-нибудь отправить запрос с ManID и соответствующими им WomanID? Чтобы в ответе сохранялся порядок ManID/WomanName? <br>
<strong class='tag-b'>Это все что нужно, это будет работать очень быстро, я так делал...</strong>]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803364</guid>
        <pubDate>Wed, 10 Jul 2019 10:17:24 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803364</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803212'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T13:36:20+00:00">09.07.19, 13:36</time></span><div class='quote '>Модифицировать базы нельзя only read, настраивать базы, прописывать линки нельзя, only php и only read</div></div><br>
Заведите свой, третий, MySQL-сервер, и с него аттачьтесь к первым двум. Обойдётесь одним простым запросом.<br>
<br>
<a class='tag-url' href='https://dev.mysql.com/doc/refman/8.0/en/federated-storage-engine.html' target='_blank'>The FEDERATED Storage Engine</a>]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803363</guid>
        <pubDate>Wed, 10 Jul 2019 10:15:53 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803363</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803349'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T08:42:40+00:00">10.07.19, 08:42</time></span><div class='quote '>Отправить то ты можешь, только там ManID нахер не нужон.</div></div><br>
Нет, он там нужон. А для чего? Чтобы он вернулся вместе с WomanName, чтобы мне не сортировать в php потом, не делать вложенных циклов.<br>
Я так делал на mssql это работало очень быстро.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803349'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T08:42:40+00:00">10.07.19, 08:42</time></span><div class='quote '>Не будет там 16 млн итераций. </div></div><br>
Да будет меньше, 16 млн, это если искомая запись всегда будет последней в цикле.<br>
Я не хочу так делать, у меня скоро пять сайтов будет, а может еще больше. Нужен оптимизированный вариант...]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803362</guid>
        <pubDate>Wed, 10 Jul 2019 10:12:04 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803362</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803318'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T06:59:09+00:00">10.07.19, 06:59</time></span><div class='quote '>Ну разве нельзя отправить на второй сервер запрос</div></div><br>
Можно.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803318'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T06:59:09+00:00">10.07.19, 06:59</time></span><div class='quote '>с xml с ManID|WomanId?</div></div><br>
Можно, но бессмысленно. MySQL не понимает запросов в XML-формате.<br>
<br>
Озвучьте версию второго MySQL. Можно крупно - 5 или 8?]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803349</guid>
        <pubDate>Wed, 10 Jul 2019 08:42:40 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803349</link>
        <description><![CDATA[Gonarh: Второй вариант - двухпроходный цикл <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-07-10T08:45:47+00:00">10.07.19, 08:45</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803318'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T06:59:09+00:00">10.07.19, 06:59</time></span><div class='quote '>Это при 1000 записей 4 милиона итераций, при 2000 будет уже 16 лямов, рост в геом. прогрессии.</div></div><br>
Не будет там 16 млн итераций. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-07-10T08:55:47+00:00">10.07.19, 08:55</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803318'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T06:59:09+00:00">10.07.19, 06:59</time></span><div class='quote '>Ну разве нельзя отправить на второй сервер запрос с xml с ManID|WomanId?</div></div><br>
Отправить то ты можешь, только там ManID <a class='tag-url' href='https://www.youtube.com/watch?v=bTQ2zTxF68c' target='_blank'>нахер не нужон</a>.]]></description>
        <author>Gonarh</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803318</guid>
        <pubDate>Wed, 10 Jul 2019 06:59:09 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803318</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803292'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T04:05:18+00:00">10.07.19, 04:05</time></span><div class='quote '></div></div><br>
Так я этого и добиваюсь))) Но что бы мне не делать сортировку в php - мне нужны данные от мускула в виде ManId/WomanName<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2019-07-10T03:39:56+00:00">10.07.19, 03:39</time></span><div class='quote '>вот тебе костыль вариант 1</div></div><br>
У меня на обоих сайтах овер 1000 записей. Тут у тебя два вложенных цикла, это миллион итераций. Это будет работать, но это костыль.<br>
Добавлю, что у меня не два сайта а 4. Это при 1000 записей 4 милиона итераций, при 2000 будет уже 16 лямов, рост в геом. прогрессии.<br>
Если оптимизировать, то нужно делать правильно. А ваш вариант это костыль, уж простите.<br>
<br>
Ну разве нельзя отправить на второй сервер запрос с xml с ManID|WomanId?<br>
Чтобы он вернул ManId|WomanName???]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803292</guid>
        <pubDate>Wed, 10 Jul 2019 04:05:18 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803292</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803274'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T20:31:05+00:00">09.07.19, 20:31</time></span><div class='quote '>Я имел в виду сортировку в самом php.</div></div><br>
ЗАЧЕМ? Оставь решение задачи сортировки тому, кто умеет это делать лучше - серверу MySQL.]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803291</guid>
        <pubDate>Wed, 10 Jul 2019 03:39:56 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803291</link>
        <description><![CDATA[Gonarh: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Мне нужно получить на первом сервере данные в таком виде:<br>
Имя мужика/Имя бабы<br>
</div></div><br>
вот тебе костыль вариант 1<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">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;$result1 = mysqli_query($server1, &#39;SELECT ManId, ManName, WomanId FROM bd1.Man;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;$result2 = mysqli_query($server2, &#39;SELECT WomanId, WomanName FROM bd2.Woman;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for ($res1 = array(); $tmp = $result1-&#62;fetch_array(MYSQLI_ASSOC);) $res1[] = $tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for ($res2 = array(); $tmp = $result2-&#62;fetch_array(MYSQLI_ASSOC);) $res2[] = $tmp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;foreach($res1 as $man){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;foreach($res2 as $woman){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if ($man[&#39;WomanId&#39;] == $woman[&#39;WomanId&#39;]) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo $man[&#39;ManName&#39;].&quot; &quot;.$woman[&#39;WomanName&#39;].&quot;&#60;/br&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
вот тебе костыль вариант 2<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">&nbsp;&nbsp; &nbsp;$result1 = mysqli_query($server1, &#39;SELECT ManId, ManName, WomanId FROM bd1.Man;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;$result2 = mysqli_query($server2, &#39;SELECT WomanId, WomanName FROM bd2.Woman;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;$womans = array();</div><div class="code_line">&nbsp;&nbsp; &nbsp;while ($row2 = mysqli_fetch_array($result2)) { $womans[$row2[&#39;WomanId&#39;]] = $row2[&#39;WomanName&#39;]; }</div><div class="code_line">&nbsp;&nbsp; &nbsp;while ($row1 = mysqli_fetch_array($result1)) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;echo $row1[&#39;ManName&#39;].&quot; &quot;.$womans[$row1[&#39;WomanId&#39;]].&quot;&#60;/br&#62;&quot;; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div></ol></div></div></div></div>]]></description>
        <author>Gonarh</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803274</guid>
        <pubDate>Tue, 09 Jul 2019 20:31:05 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803274</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T17:38:54+00:00">09.07.19, 17:38</time></span><div class='quote '>Фигню говоришь.</div></div><br>
Я имел в виду сортировку в самом php.<br>
У меня объявлен тип, в котором я храню всю нужную информацию. Идентификатором этого типа является ManID.<br>
Вот пришел мне запрос с голыми WomanName, ну и WomanID. А мне каждую бабу эту нужно записать в php тип. Но куда?<br>
А туда где WomanID из запроса будет равен WomanID типа.<br>
Как это сделать? Самое простое - создать еще тип, добавить в него все поля из запроса, и крутить сравнение в цикле - если совпало,<br>
записывать один тип в другой и удалять тот который из запроса был создан. В итоге получаем простейшую сортировку.<br>
<strong class='tag-b'>А без этого, рассортировать запрос в тип я не могу.</strong><br>
И такие костыли я уже делал. Оно плохо работает, оно мне не по душе, оно мне не нравится.<br>
А мне нравится послать xml к бабам и получить в лтвете баб и id мужиков, чтобы я сразу мог результат в php записать в нужный мне тип.]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803254</guid>
        <pubDate>Tue, 09 Jul 2019 17:38:54 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803254</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803232'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T15:57:31+00:00">09.07.19, 15:57</time></span><div class='quote '>А как объеденить то?</div></div><br>
Понятия не имею - я в ПХП ни ухом ни рылом... но вроде как там функций для обработки массивов море, неужто не найдётся объединение по ключу?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803232'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rzonex &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T15:57:31+00:00">09.07.19, 15:57</time></span><div class='quote '>А сортировка, поверь, по скорости практически тоже самое, что юзать так, как я написал. </div></div><br>
Фигню говоришь. Добавь в запрос нужный ORDER BY, и получишь результат уже сортированным. И поверь, это будет гораздо быстрее, чем сортирить на клиенте (кстати, уж сортирить массивы ПХП сто пудов умеет).]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803232</guid>
        <pubDate>Tue, 09 Jul 2019 15:57:31 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803232</link>
        <description><![CDATA[Rzonex: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=415150&view=findpost&p=3803214'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2019-07-09T13:47:14+00:00">09.07.19, 13:47</time></span><div class='quote '>Затем объединяешь массивы в один по равенству поля WomanId.</div></div><br>
А как объеденить то?))<br>
Тут сортировка нужна сравнивать ID то что пришло от баб и те бабские ID которые у мужиков были.<br>
Потому что приходит ответ не сортированный ну никак, да и даже если бы был сортированный, у меня мужиков к примеру тысяча, а ID баб подбиты 900 к примеру - так что в цикле тоже не рассортируешь - нужен алгоритм посложнее.<br>
А сортировка, поверь, по скорости практически тоже самое, что юзать так, как я написал. Ну мб чуть быстрее. Делал я так. Не варик.<br>
<br>
Варик - это получить WomanID вместе с отправляемыми ManID - тогда можно сразу найти нужный тип/массив по ManID и записать туда WomanName.<br>
<br>
Т.е. я отправляю на бабский сервер xml с мужскими и женскими ID, джойню с таблицей Woman и получаю ответ из бд и из xml. Из xml ManID, из бд WomanName. <br>
Тогда мне ответ приходит такой: ManID|WomanName, мне не надо сортировать, я просто ложу WomanName по ManID.<br>
Вот что я бы хотел, но у меня проблема с синтаксисом - не могу переписать запрос с mssql на mysql.<br>
<br>
Вот то, что я пытался сваять из рабочего mssql запроса и нужного мне mysql. Но ошибка, как исправить не знаю...<br>
&#036;qer формирую когда получаю ответ от первого сервера.<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">$qer.=(&#39;&#60;row id = &quot;&#39;.$id_one[$row[0]].&#39;&quot;&#62;&#39;.$id_two[$row[0]].&#39;&#60;/row&#62;&#39;);</div></ol></div></div></div></div><br>
<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">DECLARE xml TEXT;</div><div class="code_line">SET xml=&#39;&#60;rows&#62;&quot;.$qer.&quot;&#60;/rows&#62;&#39;;</div><div class="code_line">SELECT Art.SortKey, t1.PRICE, t2.VALUE FROM</div><div class="code_line">(select b.value(&#39;@id&#39; , &#39;int&#39;) [SortKey], b.value(&#39;.&#39; , &#39;varchar(50)&#39;) [ArtNo] FROM @xml.nodes(&#39;/rows/row&#39;) a(b) )as Art LEFT JOIN</div><div class="code_line">b_catalog_price AS t1 ON t1.PRODUCT_ID = Art.ArtNo LEFT JOIN</div><div class="code_line">b_iblock_element_property AS t2 ON t2.IBLOCK_ELEMENT_ID = t1.PRODUCT_ID AND t2.IBLOCK_PROPERTY_ID = 47</div></ol></div></div></div></div>]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803214</guid>
        <pubDate>Tue, 09 Jul 2019 13:47:14 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803214</link>
        <description><![CDATA[Akina: На первый сервер шлёшь запрос<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">SELECT ManId, ManName, WomanId </div><div class="code_line">FROM bd1.Man;</div></ol></div></div></div></div><br>
<br>
Полученные данные валишь в массив.<br>
<br>
Все полученные WomanId собираешь в одну переменную, разделяя значения запятыми, и шлёшь на второй сервер запрос<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">SELECT WomanId, WomanName </div><div class="code_line">FROM bd2.Woman </div><div class="code_line">WHERE WomanId IN (WomanId-1, WomanId-2, ... , WomanId-N);</div></ol></div></div></div></div><br>
<br>
Полученные данные валишь во второй массив.<br>
<br>
Затем объединяешь массивы в один по равенству поля WomanId.<br>
<br>
Всё.<br>
<br>
PS. Возможная ошибка - попытка вставить переменную со списком как параметр. В этом случае список будет обрамлён кавычками и воспринят как один длинный литерал, а не список.]]></description>
        <author>Akina</author>
        <category>Базы данных: SQL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803212</guid>
        <pubDate>Tue, 09 Jul 2019 13:36:20 +0000</pubDate>
        <title>SELECT к двум хостам (MYSQL)</title>
        <link>https://forum.sources.ru/index.php?showtopic=415150&amp;view=findpost&amp;p=3803212</link>
        <description><![CDATA[Rzonex: Добрый день.<br>
<br>
Я немного упрощу описание проблемы и заменю названия для наглядности.<br>
<br>
У меня два сервера, на первом хранятся МУЖИКИ с id-шниками. На втором БАБЫ тоже с id-шниками.<br>
<br>
На первом сервере, в таблицу с МУЖИКАМИ первого сервера добавил ручками столбец &quot;WomanId&quot; и забил туда по нужным мне соответствиям(ну скажем это жены ихние) id-шники БАБ со второго сервера.<br>
<br>
Получилось что-то типа такого:<br>
ManId____ManName_______WomanId<br>
1025_____Игорь_________541<br>
1021_____Борис_________645<br>
<br>
Мне нужно получить на первом сервере данные в таком виде:<br>
Имя мужика/Имя бабы<br>
<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">$result1 = mysqli_query($server1, &#39;SELECT ManId, ManName, WomanId FROM bd1.Man;&#39;);</div><div class="code_line">while ($row1 = mysqli_fetch_array($result1)) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;$result2 = mysqli_query($server2, &#39;SELECT WomanName FROM bd2.Woman WHERE WomanId =&#39;.$row1[2].&#39;;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;while ($row2 = mysqli_fetch_array($result2)) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;echo $row1[1].&quot; &quot;.$row2[0].&quot;&#60;/br&#62;&quot;; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Получаю нужные мне &quot;Имя мужика/Имя бабы&quot;<br>
Но, мужиков у меня больше 1000, в итоге в цикле отправляется 1000+ запросов к второму серверу с бабами, это работает, но очень медленно.<br>
<br>
На mssql получал список баб одним запросом:<br>
Формировал xml: &lt;row id = &quot;1025&quot;&gt;541&lt;/row&gt; &lt;row id = &quot;1021&quot;&gt;645&lt;/row&gt;<br>
и отправлял запрос к второму серверу &quot;declare @xml xml SET @xml=&#39;&lt;row id = &quot;1025&quot;&gt;541&lt;/row&gt; &lt;row id = &quot;1021&quot;&gt;645&lt;/row&gt;...<br>
<br>
Т.е. я прописывал в xml соответствия мужик_id/баба_id и второй сервер мне возвращал данные в таком виде<br>
ManId(который я же ему и отправлял в xml)/и имя бабы<br>
1025/Света<br>
1021/Люся<br>
<br>
После чего, слинковать баб к мужикам по id из запроса плевое дело.<br>
Можно как нибудь так же, одним запросом на mysql сделать?(Модифицировать базы нельзя only read, настраивать базы, прописывать линки нельзя, only php и only read)<br>
Ну или может еще какие варианты есть?<br>
<br>
Спасибо.]]></description>
        <author>Rzonex</author>
        <category>Базы данных: SQL</category>
      </item>
	
      </channel>
      </rss>
	