Я пытаюсь запустить оператор IF в моем SQL:SQL рядный IF заявление для отображения имен столбцов и строк
IF(customer = 'Y', contact_name + '(' + contact_email + ')', 'Internal')
оператор работает с его истинным и ложным, но я хочу, чтобы иметь возможность отображать
contact_name
(столбец таблицы)
, а затем в скобках рядом с этим, он будет отображать contact_email
, который также является столбец таблицы.
У меня возникли проблемы с кронштейнами около contact_email
.
мой полный запрос:
SELECT datetime as datetime, notes as notes
FROM customer_communication
WHERE company = '276'
UNION ALL
SELECT datetime as datetime,
CONCAT('Ticket #', + ticketnumber, +
'() Opened By ', +
IF(customer = 'Y', contact_name '(' contact_email ')',
'Internal')) as notes
FROM tickets
WHERE company = '276'
и я вижу эту ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''(' contact_email ')', 'Internal')) as notes FROM tickets WHERE company = '276' ' at line 1
Какую базу данных вы используете? Какую ошибку вы получаете? – David
Возможно, вы хотите использовать выражение CASE. IF обычно управляет потоком в большинстве СУБД. –
Просим пометить базу данных, которую вы используете, показать полный оператор, который вы пытаетесь запустить, и включить любые точные сообщения об ошибках, которые вы получаете. http://stackoverflow.com/help/how-to-ask –