Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 31
1

Проблема с SQL запросом

23.04.2012, 22:45. Показов 791. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть две таблицы:
1) users
В ней хранятся id, firstName, lastName, phone
2) contacts
id1 - кто добавил, id2 - кого добавил
Надо сделать поиск по телефону только тех пользователей, кого нет в друзьях.

Вот как сделал я:
SQL
1
2
3
4
SELECT `u`.`id` AS `id`, `u`.`firstName` AS `firstName`, `u`.`lastName` AS `lastName`, `u`.`phone` AS `phone`
FROM `users` AS `u`, `contacts` AS `c` 
WHERE `c`.`id1` = '10' AND `u`.`id` <> `c`.`id2` AND `phone` LIKE '%7%' 
ORDER BY `u`.`lastName`
Мой id - 10. Но выдается полная чушь. Думаю проблема этом:
SQL
1
`u`.`id` <> `c`.`id2`
потому что проходит не все `id2`.
Как исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2012, 22:45
Ответы с готовыми решениями:

проблема с запросом
Добрый день! Возникла проблема с запросом: INSERT INTO order (`customer_number_id`, `type`,...

Проблема с запросом
Добрейшего всем времени суток Вроде простая задача, но сломал голову как можно реализовать...

Помогите с sql запросом
запрос &quot;телефон Nokia N73&quot; необходимо найти все записи в таблице, где всртечаются все слова...

проблемы с sql запросом
только изучаю SQL Вот вообще не понимаю. Таблицу можно выводить с помощью sql запроса, ну самое...

1
111 / 112 / 18
Регистрация: 11.03.2011
Сообщений: 421
24.04.2012, 13:50 2
два условия:
1. те, кого ты добавил
2. те, кто тебя добавил

где (c.id1 = 10 and c.id1 <> c.id2 ) or (c.id2 = 10 and c.id <> c.id)

а для удобства выборки лучше в юнион что ли??

типа

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT t1.*
FROM users AS t1
LEFT OUTER JOIN contacts AS t2 ON t2.id = t1.id
WHERE
t1.id = 10 
AND t2.id <> t1.id
 
UNION ALL
 
SELECT t1*
FROM users AS t1
LEFT OUTER JOIN contacts AS t2 ON t2.id = t1.id
WHERE
t2.id = 10 
AND t2.id <> t1.id
 
ORDER BY t1.lastName ASC
я уверен, что это не совсем правильный запрос (там однозначно должна быть ошибка в такое позднее время) и совсем не оптимальный в плане быстродействия

надеюсь суть и идея ясны

Добавлено через 10 часов 31 минуту
галиматью написал, а не запрос.
не обращай на него внимания.
0
24.04.2012, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2012, 13:50
Помогаю со студенческими работами здесь

Проблема с запросом. ExecuteReader() выдает ошибку
Доброго времени. В MySQL Query Browser запрос работает. Пишу в студии 2008 на visual с++ .net. ...

Вывод строк запросом sql
Вот мой запрос: SELECT a_data_klemma.ID, b_iblock_element.NAME, b_catalog_price.PRICE,...

Сложность с запросом SQL фонд заработной платы по отделам
остался последний запрос в курсовой, не могу выполнить его, надеюсь кто-нибудь поможет суть вот...

Возможно реализовать данную задачу только SQL запросом?
Здравствуйте. У меня есть таблица, в ней я выбираю две колонки 1-я колонка (тип Char) 2-я колонка...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru