Я в схеме MariaDB эти таблицы:
CLIENTI
id | ragionesociale | idZucchetti | MORE COLS....
1 | SEA srl | 569 | ....
2 | Contoso Srl | 700 | ....
...
RIFERIMENTI_CLIENTI
ID | riferimento | idtipo | idCliente | MORE COLS....
1 | info@seasrl.it | 2 | 1 | ....
2 | 003905623547 | 1 | 1 | ....
3 | 003905685748 | 6 | 1 | ....
4 | info@contoso.it | 2 | 2 | ....
5 | 0039562475 | 1 | 2 | ....
6 | 00398562586 | 6 | 2 | ....
...
Основной оператор SELECT, который я сейчас делаю, это
SELECT SQL_CALC_FOUND_ROWS c.idzucchetti,
c.ragionesociale,
c.indirizzo,
c.citta,
c.cap,
c.prov,
(SELECT riferimento
FROM riferimenti_clienti AS rc
WHERE rc.idcliente = c.id
AND rc.idanagrafica = -1
AND idtipo = 1) AS tel,
(SELECT riferimento
FROM riferimenti_clienti AS rc
WHERE rc.idcliente = c.id
AND rc.idanagrafica = -1
AND idtipo = 6) AS fax,
(SELECT riferimento
FROM riferimenti_clienti AS rc
WHERE rc.idcliente = c.id
AND rc.idanagrafica = -1
AND idtipo = 2) AS email
FROM clienti AS c
, который дает этот результат
QUERY RESULT
idZucchetti | ragionesociale ... | tel | fax | email
569 | SEA srl | 003905623547 | 003905685748 | info@seasrl.it
700 | Contoso Srl | 0039562475 | 00398562586 | info@contoso.it
первый вопрос: правильный ли способ получения результатов?
второй вопрос: мне нужно отфильтровать столбцы по тел, факсу или электронной почте.Когда я пишу в предложении «ГДЕ»
tel LIKE '%...%'
или по факсу или электронной почте, я получаю эту ошибку:
Error Code: 1054. Unknown column 'tel' in 'where clause'
как я могу это сделать?