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
Форумы портала PHP.SU :: Версия для печати :: Выборка из двух таблиц (помогите новичку)
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Выборка из двух таблиц (помогите новичку)

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

1. VirtualMan - 31 Марта, 2017 - 13:34:43 - перейти к сообщению
В первой таблице хранятся телефоны и статусы
Во второй также хранятся телефоны и статусы.
Нужно выбрать телефоны из первой таблицы, которых нет во второй таблице, при этом у этого телефона в первой таблице указан статус.

Вот как делаю, но запрос не срабатывает, все равно выводит телефоны которые содержаться во второй таблице. 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 = 'регион';


Заранее благодарю.
2. ytrewq123 - 31 Марта, 2017 - 14:55:08 - перейти к сообщению
Ну так
SELECT table1.Phone FROM table1, table2 WHERE table1.Phone != table2.Phone;
Разве не так?!
3. VirtualMan - 31 Марта, 2017 - 18:11:17 - перейти к сообщению
Нет здесь дублируется.
В общем решил так:

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


Тему можно закрывать

 

Powered by ExBB FM 1.0 RC1