powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT одинаковых данных из двух таблиц
10 сообщений из 10, страница 1 из 1
SELECT одинаковых данных из двух таблиц
    #38529566
AlbusFalco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем суть: две таблицы с разными полями, данными и т.д. Но есть несколько полей, содержащих однотипные данные в обоих таблицах, по которым и нужен поиск.

в данном случае - поиск по фио, причем выборка в первую очередь идет из первой таблицы, а из второй - только те, кого нет в первой. т.е. поиск ивана иваныча даст январского из первой, а остальных - из второй таблицы.
Думаю что нет такой задачи которая не под силу sql, но сообразить пока не могу. Кто что подскажет?

Код: plaintext
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.
табл.1
-------------------------------------------------------------------
fam		im		ot		dr		id	
-------------------------------------------------------------------
Иванов		Иван		Иванович	1970-01-01	 1		
Петров		Петр		Петрович	1970-01-01	 2		
-------------------------------------------------------------------


табл.2
-------------------------------------------------------------------
fam2		im2		ot2		 dr2		 id2	
-------------------------------------------------------------------
Иванов		Иван		Иванович	1970-01-01	 123	
Иванов		Иван		Иванович	1970-02-02	 124	
Иванов		Иван		Иванович	1970-03-03	 125	
Петров		Петр		Петрович	1970-01-01	 126	
Смирнов		Василий		Петрович	1970-01-01	 127	
-------------------------------------------------------------------

Результат:
-------------------------------------------------------------------
Иванов		Иван		Иванович	1970-01-01	 1		
Иванов		Иван		Иванович	1970-02-02	 124	
Иванов		Иван		Иванович	1970-03-03	 125	


...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38529587
суть не ясна, но напрашивается UNION ALL.
А для корректной сортировки результата (сначала из первой таблицы, после из второй) - ввести в каждую секцию фиктивное поле со значением "1" для первой таблицы и "2" - для второй и сортировать по этому полю...
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38529595
AlbusFalco из второй - только те, кого нет в первой. "дословный" перевод на язык SQL: not exists
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38529673
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
select t1.* from table1 t1
union all
select t2.* from table2 t2 left join table1 t3 on t2.fio&dt = t3.fio&dt where t3.fio is null
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530240
AlbusFalco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
про union вспомнил спустя несколько часов, но т.к. я его как-то не юзал - будем пробовать. благодарствую за помощь.
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530340
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор поиск по фио, причем выборка в первую очередь идет из первой таблицы, а из второй - только те, кого нет в первой. т.е.

В смысле выборка, или все-таки поиск?

Если первое то coalesce в экстазе.

coalesce(table1.name, table2.name) as name,

Будет выбрано первое попавшееся не нулевое значение. Но как вы собираетесь отношение налаживать? По полному фио?

select * from t1 left join t2 on
concat_ws(" ", t1.fam, t1.im, t1.ot) = concat_ws(" ", t2.fam, t2.im, t2.ot)

?

Другими словами вам нужны NULL из второй таблицы там, где нет тупли. Как его тут получить я не знаю видя чертеж, надо эксперименты проводить,
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530341
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, еще др притяните. Что, конечно, не факт, поскольку полных тезок родившихся в один день может быть больше чем 1 штука.
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530342
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Риторически. Вернулся чтобы в который раз убедиться что форумы наполняются пациентами в анамнезе которых лень.
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530813
AlbusFalco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

насчет пациентов - лишнее доказательство, что программисты и сисадмины таки обладают навыками телепатии, ибо бд как раз больничная.:)

а насчет лени - если б ее не было, то ответов гуглилось бы не по сто и не по пятьсот, а всего по одному на каждый вопрос, что уменьшает разнообразие вариантов решения любой поставленной задачи, а следовательно ведет к атрофированию головного мозга. Иными словами: лень- двигатель прогресса.
...
Рейтинг: 0 / 0
SELECT одинаковых данных из двух таблиц
    #38530829
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debloggerРиторически. Вернулся чтобы в который раз убедиться что форумы наполняются пациентами в анамнезе которых лень.

Товарищ deblogger, ваше решение этой задачи --
полнейшая чушь... не поленились бы вы смыслом
задачи проникнуться.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT одинаковых данных из двух таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]