Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Студент
 Аватар для MickeyBlueEyes
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503

SELECT из 2х таблиц

15.06.2011, 20:15. Показов 2256. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объеденить таблици.

Допустим нужно мне выбрать из 2х таблиц все записи где один и тот же автор.

Пробывал JOIN'ами

SQL
1
SELECT * FROM `t1` JOIN `t2` WHERE t1.author = t2.author
Но выбирает только с одной таблици.

Может ктото подскажет как правильно организовать подобный запрос.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2011, 20:15
Ответы с готовыми решениями:

SELECT из двух таблиц
Всем привет! пытаюсь реализовать немудреный запрос: SELECT * FROM wp_posts_us, wp_posts_job но в результате выходит полная муть....

SELECT из двух таблиц
Вопрос такой - есть страница на которой выводятся все сообщения между 2 пользователями. Сообщения между мной и собеседником вывожу таким...

INSERT . SELECT из 2 таблиц
Здравствуйте, у меня есть 2 таблицы с данными: T1 и T2 и одна итоговая: Itog. Мне нужно, чтобы из таблиц T1 и T2 ОДНИМ запросом...

8
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
16.06.2011, 08:52
SQL
1
SELECT * FROM `t1` JOIN `t2` ON t1.author = t2.author
1
 Аватар для MiheyJumaric
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
16.06.2011, 09:31
Нужно описание таблиц потом уже смотреть.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
16.06.2011, 10:29
Вообще синтаксис зависит от СУБД.
Например, в некоторых можно так
SQL
1
2
3
SELECT *
FROM tab1, tab2
WHERE tab1.author = t2.author
1
Студент
 Аватар для MickeyBlueEyes
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
16.06.2011, 14:42  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Вообще синтаксис зависит от СУБД.
Например, в некоторых можно так
SQL
1
2
3
SELECT *
FROM tab1, tab2
WHERE tab1.author = t2.author
MySQL - Server version: 5.1.50-community


Таблици к примеру вот:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CREATE TABLE IF NOT EXISTS `commerce` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `cat` tinyint(1) NOT NULL,
  `type` CHAR(3) COLLATE cp1251_bin NOT NULL,
  `money` VARCHAR(50) COLLATE cp1251_bin NOT NULL,
  `country` VARCHAR(15) COLLATE cp1251_bin NOT NULL,
  `city` VARCHAR(15) COLLATE cp1251_bin NOT NULL,
  `street` VARCHAR(50) COLLATE cp1251_bin NOT NULL,
  `year` YEAR(4) NOT NULL,
  `date` DATE NOT NULL,
  `square` SMALLINT(5) NOT NULL,
  `lvl` tinyint(3) NOT NULL,
  `cnt_lvl` tinyint(3) NOT NULL,
  `height potolok` tinyint(2) NOT NULL,
  `state` VARCHAR(20) COLLATE cp1251_bin NOT NULL,
  `parkovka` tinyint(1) NOT NULL,
  `lift` tinyint(1) NOT NULL,
  `telephone` tinyint(1) NOT NULL,
  `security` tinyint(1) NOT NULL,
  `gaz` tinyint(1) NOT NULL,
  `electrik` tinyint(1) NOT NULL,
  `vodoprovod` tinyint(1) NOT NULL,
  `otoplenie` tinyint(1) NOT NULL,
  `kanalizacia` tinyint(1) NOT NULL,
  `internet` tinyint(1) NOT NULL,
  `text` text COLLATE cp1251_bin NOT NULL,
  `author` INT(8) NOT NULL,
  `contact` BIGINT(15) NOT NULL,
  `img` VARCHAR(255) COLLATE cp1251_bin NOT NULL,
  `vip` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=2 ;
и вторая

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE TABLE IF NOT EXISTS `areas` (
  `id` INT(8) NOT NULL AUTO_INCREMENT,
  `cat` tinyint(2) NOT NULL,
  `type` CHAR(3) COLLATE cp1251_bin NOT NULL,
  `money` VARCHAR(50) COLLATE cp1251_bin NOT NULL,
  `country` VARCHAR(20) COLLATE cp1251_bin NOT NULL,
  `city` VARCHAR(20) COLLATE cp1251_bin NOT NULL,
  `street` VARCHAR(50) COLLATE cp1251_bin NOT NULL,
  `date` DATE NOT NULL,
  `square` VARCHAR(20) COLLATE cp1251_bin NOT NULL,
  `gaz` tinyint(1) NOT NULL,
  `electrik` tinyint(1) NOT NULL,
  `vodoprovod` tinyint(1) NOT NULL,
  `kanalizacia` tinyint(1) NOT NULL,
  `text` text COLLATE cp1251_bin NOT NULL,
  `author` INT(8) NOT NULL,
  `contact` BIGINT(15) NOT NULL,
  `img` VARCHAR(255) COLLATE cp1251_bin NOT NULL,
  `vip` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=2 ;
Пробывал
SQL
1
SELECT * FROM `t1` JOIN `t2` ON t1.author = t2.author
Тоже выбирает только с одной таблици

SQL
1
2
3
SELECT *
FROM tab1, tab2
WHERE tab1.author = t2.author
Тож не проканало
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
16.06.2011, 14:51
Покажи несколько записей из 1 таб. (можно только те поля, которые надо выбрать), несколько из другой и желаемый результат
0
 Аватар для MiheyJumaric
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
16.06.2011, 15:52
Только если поля в таблиц одинаковы
SQL
1
2
3
4
5
SELECT id,cat,TYPE,money,country,city,street,DATE,square,gaz,electrik,vodoprovod,kanalizacia,text,author,contact,img,vip,1 
FROM commerce WHERE author = :author
UNION ALL
SELECT id,cat,TYPE,money,country,city,street,DATE,square,gaz,electrik,vodoprovod,kanalizacia,text,author,contact,img,vip,2 
FROM areas WHERE author = :author
:author указывается
1 и 2 в конце поставил просто для проверки, что бы видеть из какой таблицы берутся данные
1
Студент
 Аватар для MickeyBlueEyes
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
16.06.2011, 19:06  [ТС]
Цитата Сообщение от MiheyJumaric Посмотреть сообщение
Только если поля в таблиц одинаковы
SQL
1
2
3
4
5
SELECT id,cat,TYPE,money,country,city,street,DATE,square,gaz,electrik,vodoprovod,kanalizacia,text,author,contact,img,vip,1 
FROM commerce WHERE author = :author
UNION ALL
SELECT id,cat,TYPE,money,country,city,street,DATE,square,gaz,electrik,vodoprovod,kanalizacia,text,author,contact,img,vip,2 
FROM areas WHERE author = :author
:author указывается
1 и 2 в конце поставил просто для проверки, что бы видеть из какой таблицы берутся данные
Проканало, биг спс всем за помощь.
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
19.06.2011, 15:04
На будущее при соеденение таблиц с одинаковыми именами столбцов используйте алиасы или через точку таблица.столбец.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2011, 15:04
Помогаю со студенческими работами здесь

Как использовать 1 select для 2-х таблиц?
Всем привет! Есть 1 код select. Потом я добавил ещё 1 код select, но 2-ой не работает. Код 2-ого анологичен 1-ой. Поэтому решил...

Сложный запрос SELECT с объеденением трех таблиц
Привет всем! В MySql есть три таблицы: table_users (user_id, user_name, user_family, user_phone, user_cab) table_device...

SELECT из нескольких таблиц меняет значения некоторых полей
Доброго времени суток, господа! На скрине запрос к базе с выборкой из нескольких таблиц. Вопрос: почему в первой и второй строке...

Select из 2 таблиц
Как можно сделать запрос из подобных селектов из разных таблиц, или объединить массивы что бы вывести в foreach? $query_post =...

Select из 2-х таблиц
Помогите сделать: select sum(fil1),sum(fil2) from table1,table2 where field3='any' или альтернативные команды чем кратче тем лучше :)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru