Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用未知字段选择_Mysql_Wordpress - Fatal编程技术网

Mysql 使用未知字段选择

Mysql 使用未知字段选择,mysql,wordpress,Mysql,Wordpress,我必须从wordpress数据库中选择mysql: SELECT wp_posts.ID, wp_posts.post_title AS post_title, responsable.meta_value AS responsable, nif_cliente.meta_value AS nif_cliente, CONCAT_WS(' ',contactos_0_nombre.meta_value,CONCAT('<br><b

我必须从wordpress数据库中选择mysql:

SELECT wp_posts.ID, wp_posts.post_title AS post_title,
        responsable.meta_value AS responsable,
        nif_cliente.meta_value AS nif_cliente,
        CONCAT_WS(' ',contactos_0_nombre.meta_value,CONCAT('<br><br>',contactos_1_nombre.meta_value)) AS contactos,
        tipo_de_empresa.meta_value AS tipo_de_empresa,
        tipo_cliente.meta_value AS tipo_cliente

        FROM wp_posts

        LEFT JOIN wp_postmeta AS responsable 
        ON wp_posts.ID = responsable.post_id AND responsable.meta_key='responsable'

        LEFT JOIN wp_postmeta AS tipo_de_empresa
        ON wp_posts.ID = tipo_de_empresa.post_id AND tipo_de_empresa.meta_key='tipo_de_empresa'

        LEFT JOIN wp_postmeta AS nif_cliente
        ON wp_posts.ID = nif_cliente.post_id AND nif_cliente.meta_key='nif_cliente'

        LEFT JOIN wp_postmeta AS contactos_0_nombre
        ON wp_posts.ID = contactos_0_nombre.post_id AND contactos_0_nombre.meta_key='contactos_0_nombre'

        LEFT JOIN wp_postmeta AS contactos_1_nombre
        ON wp_posts.ID = contactos_1_nombre.post_id AND contactos_1_nombre.meta_key='contactos_1_nombre'

        LEFT JOIN wp_postmeta AS tipo_cliente
        ON wp_posts.ID = tipo_cliente.post_id AND tipo_cliente.meta_key='tipo_cliente'

        WHERE wp_posts.post_status = 'publish' AND wp_posts.post_type = 'clientes'"
选择wp_posts.ID,wp_posts.post_title作为post_title,
responsible.meta_值为responsible,
nif_cliente.meta_值作为nif_cliente,
CONCAT_WS(“”,contactos_0_标称值,CONCAT(‘

’,contactos_1_标称值))作为contactos, tipo_de_empresa.meta_值作为tipo_de_empresa, tipo_客户。作为tipo_客户的meta_值 来自wp_的职位 左加入wp_Posteta作为负责人 在wp_posts.ID=responsable.post_ID和responsable.meta_key='responsable' 左加入wp_Posteta作为tipo_de_empresa 在wp_posts.ID=tipo_de_empresa.post_ID和tipo_de_empresa.meta_key='tipo_de_empresa' 左加入wp_Posteta作为nif_客户 在wp_posts.ID=nif_cliente.post_ID和nif_cliente.meta_key='nif_cliente' 左连接wp_Posteta作为联系人_0_nombre 在wp_posts.ID=contactos_0_nombre.post_ID和contactos_0_nombre.meta_key='contactos_0_nombre' 左加入wp_Posteta作为联系人 在wp_posts.ID=contactos_1_nombre.post_ID和contactos_1_nombre.meta_key='contactos_1_nombre' 左加入wp_Posteta作为tipo_客户 在wp_posts.ID=tipo_cliente.post_ID和tipo_cliente.meta_key='tipo_cliente' 其中wp_posts.post_status='publish'和wp_posts.post_type='clientes'
我想联系名义上的联系人。我可以写手册,但它是dinamic(我不知道它是多少)。如果只有一个联系人,它可以是0,但如果这个客户有更多的联系方式,它可以是1000

我怎样才能搜索有多少联系人拥有一个客户端,并将它们全部关联起来


谢谢

如果我正确理解您的问题,您可以使用MySQL GROUP_CONCAT功能。您可能需要根据您的情况调整此功能,但基本思路是:

将数据库联接设置为:

LEFT JOIN wp_postmeta AS contactosdb ON wp_posts.ID = contactosdb.post_id
然后在选择中使用以下选项:

GROUP_CONCAT(contactosdb.meta_value SEPARATOR '<br><br>') AS contactos
GROUP_CONCAT(contactosdb.meta_值分隔符'

')作为contactos
在这里帮不了什么忙,这不是关系设计。我使用这个解决方案是为了让它成为是的,但在你的情况下,你最好考虑和比较如何将两者结合起来,但现在它工作得很好。我只想知道如果我不知道N,如何连接N个字段。谢谢谢谢Hanks@bobdye,我认为组\u CAT连接字段具有相同的名称。但是我有f不同名称的IELD:contactos_0.meta_值,contactos_1.meta_值,contactos_2.meta_值…..contactos_N.meta_值,N它是动态的,我不知道这个号码。我需要加入所有contactos_N.meta值。再次感谢