<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум PHP-MyAdmin.RU &mdash; Создание запроса для выбора данных из нескольких таблиц по общему полю]]></title>
	<link rel="self" href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=1029&amp;type=atom" />
	<updated>2009-01-06T17:43:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.php-myadmin.ru/viewtopic.php?id=1029</id>
		<entry>
			<title type="html"><![CDATA[Re: Создание запроса для выбора данных из нескольких таблиц по общему полю]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=6603#p6603" />
			<content type="html"><![CDATA[<p><strong>valerii</strong><br />Совершенно верно, это обычное объединение таблиц. Оба вариант совершенно равнозначны.<br /></p><div class="codebox"><pre><code>SELECT *
FROM `user` INNER JOIN `phone` ON `user`.`name` = `phone`.`name`
WHERE `user`.`name` = &#039;имя_юзера&#039;;</code></pre></div><p>В случае, если поле name является уникальным то объединить по нему можно любое количество таблиц, примерно так:<br /></p><div class="codebox"><pre><code>SELECT *
FROM `user` INNER JOIN (`phone`, `pc`) ON (`user`.`name` = `phone`.`name` AND `user`.`name` = `pc`.`name`)
WHERE `user`.`name` = &#039;имя_юзера&#039;;</code></pre></div><p>Однако обычно для объединения используется первичный ключ (primary key), поле id, например.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2009-01-06T17:43:58Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=6603#p6603</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Создание запроса для выбора данных из нескольких таблиц по общему полю]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=6602#p6602" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Примерно так:<br /></p><div class="codebox"><pre><code>SELECT *
FROM `user` INNER JOIN `phone` ON `user`.`name` = `phone`.`name`;</code></pre></div><p>При пересечении имен полей в таблицах, может понадобиться задание алиасов, чтобы они были уникальными.</p></blockquote></div><p>Этот запрос выдает всех юзеров, которые совпадают по полю name.</p><p>Мне не совсем понятно зачем ставить оператор INNER JOIN </p><p>этот запрос можно было сформировать и вот так. <br />SELECT * <br />FROM impresoras, telephones WHERE impresoras.name=telephones.name</p><br /><p>кроме того, как можно преобразовать этот запрос только по указанному юзеру, например:<br />SELECT *<br />FROM `user` INNER JOIN `phone` ON `user`.`name` = `phone`.`name`=`имя_юзера`</p><p>??</p><br /><p>и как сделать такой же запрос где 3 и больше таблиц, например еще таблица <br />pc с 6-ю полями и таблица printers?</p>]]></content>
			<author>
				<name><![CDATA[valerii]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=1709</uri>
			</author>
			<updated>2009-01-06T16:55:36Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=6602#p6602</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Создание запроса для выбора данных из нескольких таблиц по общему полю]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=6601#p6601" />
			<content type="html"><![CDATA[<p>Примерно так:<br /></p><div class="codebox"><pre><code>SELECT *
FROM `user` INNER JOIN `phone` ON `user`.`name` = `phone`.`name`;</code></pre></div><p>При пересечении имен полей в таблицах, может понадобиться задание алиасов, чтобы они были уникальными.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2009-01-06T15:09:14Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=6601#p6601</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Создание запроса для выбора данных из нескольких таблиц по общему полю]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=6599#p6599" />
			<content type="html"><![CDATA[<p>Всем привет, перехожу к описанию проблемы.</p><p>Есть одна база, в ней - несколько таблиц.</p><p>есть таблица юзеры с полями: имя, телефон, почта, <br />есть таблица телефоны с полями: имя, серийник, модель, марка<br />поле имя - в каждой таблице, попадаются одинаковые, <br />допустим есть юзер вася иванов. он фигурирует как в первой так и во 2й таблице,</p><p>&nbsp; только в первой сказано что вот вася иванов у него телефон 222 и почта вася@рамблер. ру,<br />&nbsp; а во 2-й сказано что у васи телефон нокия модель 1101 с серийником хххх <br />&nbsp; задача стоит следующая: вывести ВСЕ данные по этому васе иванову.</p><br /><br /><p>Помогие сформировать запрос для выполнения этого действия. Также хочу сказать что оператор Union здесь не проходит, т.к. все таблицы имеют разное количество полей. Заранее большое спасибо</p>]]></content>
			<author>
				<name><![CDATA[valerii]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=1709</uri>
			</author>
			<updated>2009-01-06T14:16:35Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=6599#p6599</id>
		</entry>
</feed>
