【发布时间】:2018-07-11 19:14:42
【问题描述】:
我有 3 张桌子:
**clientes**
cli_clientes nome
50 A
52 B
**telefones_cliente**
cli_cliente tel_telefone
50 387
50 386
50 385
52 400
**telefones**
tel_telefone tel_contato
385 RODOLFO - COMPRAS
386 SONIA CONTAS A PAGAR RAMAL 201
387 VANESSA CONTABILIDADE RAMAL 202
388 (null)
389 (null)
我需要来自客户的结果,并且只需要来自 telefones_cliente 的第一个匹配项,以及来自 telefones 的 tel_contato。 我只是做了很多尝试,所以我需要帮助,我最后一个不工作的 SQL:
SELECT
c.cli_cliente
,cli_razao_social,
tc.tel_telefone
-- ,telefones.tel_contato
FROM
clientes c
JOIN telefones_cliente tc ON c.cli_cliente = (SELECT tc.cli_cliente FROM telefones_cliente, clientes c2, telefones t WHERE c2.cli_cliente=tc.cli_cliente AND tc.tel_telefone=t.tel_telefone LIMIT 1)
我得到了什么:
cli_cliente cli_razao_social tel_telefone
50 EXACTA ENGENHARIA E ADMINISTRAÇAO LTDA 385
50 EXACTA ENGENHARIA E ADMINISTRAÇAO LTDA 386
50 EXACTA ENGENHARIA E ADMINISTRAÇAO LTDA 387
我需要什么:
cli_cliente cli_razao_social tel_telefone
49 WOOD FORM LTDA 384
50 EXACTA ENGENHARIA E ADMINISTRAÇAO LTDA 387
【问题讨论】:
-
您当前的结果和预期的结果都包括名称、标识符,甚至是未出现在示例数据中的列名,这使得您很难看到您想要说明的内容。
标签: sql postgresql join