МОЙ КОД (я использую MS Access 2000 с ядром базы данных JET)
SELECT Members.First_Name + ' ' + Members.Last_Name AS Member,
iif(NULL,Friends.My_E_Mail, Friends.Friend_E_Mail) AS E_Mail,
Members.First_Name AS Name
FROM ((Members
LEFT OUTER JOIN Friends
ON Members.E_Mail = Friends.My_E_Mail
AND Friends.Friend_E_Mail = ?)
LEFT OUTER JOIN Friends Friends_1
ON Members.E_Mail = Friends.Friend_E_Mail
AND Friends.My_E_Mail = ?)
Члены моих таблиц (все VARCHAR) НЕКОТОРЫЕ ДАННЫЕ Имя Алестер Джуд Карл Джонс Фамилия A B C J
FRIENDS(ALL VARCHAR)
My_E_Mail [email protected] [email protected] [email protected]
Friend_E_Mail [email protected] [email protected] [email protected]
*** ПРИМЕЧАНИЕ Таблица друзей РАЗРЕШАЕТ дубликаты, поэтому jude может быть на my_E_Mail, но НЕ МОЖЕТ добавить alester, потому что они уже друзья.
Желаемый результат, если ("?" В запросе выше: [email protected])
+--------------+-----------+------------+
|Member |E_Mail | Name |
+---------------------------------------+
Alester A [email protected] Alester
Желаемый результат, если ("?" В запросе выше: [email protected])
+--------------+-----------+------------+
|Member |E_Mail | Name |
+---------------------------------------+
Jude B [email protected] Jude
carl C [email protected] Carl
Jones J [email protected] Jones
PS знак "?" параметры строки запроса, которые я передаю в "?" Я знаю, что это прекрасно работает.
МОЙ ВОПРОС: Я все время получаю сообщение об ошибке «Выражение соединения не поддерживается».
Есть ли обходной запрос, который я могу использовать без использования хранимой процедуры или использования нескольких запросов, поскольку это должен быть ОДИН ОДИН ЗАПРОС !?