gpt4 book ai didi

mysql - 多个连接的多个别名?

转载 作者:行者123 更新时间:2023-11-29 21:42:34 26 4
gpt4 key购买 nike

我对两个表进行此查询,结果是(附图)

    SELECT vcc.name, vcc.quantity, vcc.custom_message, vfd.value
FROM vxu_4_wpsc_cart_contents AS vcc
INNER JOIN vxu_4_wpsc_submited_form_data AS vfd ON vcc.purchaseid = vfd.log_id
WHERE vfd.form_id
IN ( 2, 9 )

我想a)删除重复数据,b)在同一行中有第二个“值”条目,所以我得到“名称”“数量”custom_message“值1(全名)”“值2(电子邮件)'在一排。我认为这涉及到多表别名和多连接,但没有脑子去弄清楚!我已经尝试过 - 诚实!

the two tables plus result

最佳答案

只需再次连接第二个表,使用精确的 form_id 匹配而不是 IN 并将其移至 ON 子句。

SELECT vcc.name, vcc.quantity, vcc.custom_message, vfd1.value AS full_name, vfd2.value as email
FROM vxu_4_wpsc_cart_contents AS vcc
INNER JOIN vxu_4_wpsc_submited_form_data AS vfd1 ON vcc.purchaseid = vfd1.log_id AND vfd1.form_id = 2
INNER JOIN vxu_4_wpsc_submited_form_data AS vfd2 ON vcc.purchaseid = vfd2.log_id AND vfd2.form_id = 9

此外,如果可能未指定全名或电子邮件(没有 form_id = 2 或 form_id = 9 的行),但结果中仍需要该数据,请考虑使用左联接。

关于mysql - 多个连接的多个别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com