Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка из двух таблиц (помогите новичку)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
VirtualMan
Отправлено: 31 Марта, 2017 - 13:34:43
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  
Откуда: Россия


Помог: 0 раз(а)




В первой таблице хранятся телефоны и статусы
Во второй также хранятся телефоны и статусы.
Нужно выбрать телефоны из первой таблицы, которых нет во второй таблице, при этом у этого телефона в первой таблице указан статус.

Вот как делаю, но запрос не срабатывает, все равно выводит телефоны которые содержаться во второй таблице. Phone (VARCHAR)

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT DISTINCT table1.Phone
  2. FROM table1, table2
  3. WHERE  table1.Phone <> table2.Phone  AND table1.Phone <> table2.Phone2 AND table1.Phone <> table2.Phone3 AND table1.STATUS = 'регион';


Заранее благодарю.
 
 Top
ytrewq123
Отправлено: 31 Марта, 2017 - 14:55:08
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Ну так
SELECT table1.Phone FROM table1, table2 WHERE table1.Phone != table2.Phone;
Разве не так?!
 
 Top
VirtualMan
Отправлено: 31 Марта, 2017 - 18:11:17
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  
Откуда: Россия


Помог: 0 раз(а)




Нет здесь дублируется.
В общем решил так:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT DISTINCT i.Phone,  b.Phone
  2. FROM table1 AS i LEFT JOIN (SELECT table2.Phone FROM table2
  3. UNION
  4. SELECT table2.Phone2 FROM table2
  5. UNION
  6. SELECT table2.Phone3 FROM table2) AS b
  7. ON i.Phone = b.Phone
  8. WHERE i.STATUS = 'регион' AND b.Phone IS NULL


Тему можно закрывать
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB