我需要帮助创建一个复杂的SQL查询,这有点超出了我的基础知识......我非常感谢任何人的帮助!
请参阅下面的数据库结构。粗体代表表格;以下是每个表的相关字段。
我在下面包含了所需的输出字段以及查询的条件。
custom_fields_data ........... sales_listings ......... .........销售列表
........ owner_id ......... ................. listing_id .......... buyer_id ........... ID
......... FIELD_ID ............................... sale_id ..... ............. ID .............名称
.......... value .............................. created_at
custom_fields_data .owner_id = sales_listings .listing_id = 商家信息 .id
sales_listings .sale_id = 销售 .id
custom_fields _data.field_id = 4
销售 .buyer_id = 12,20,21或30
选 .ID
的选 .NAME
的 custom_fields_data 。价值
sales_listings .created_at
谢谢,非常感谢你的帮助。
答案 0 :(得分:0)
这非常直截了当。将您的问题分为三个部分:
我发现你已经解决了这个问题,但还没有尝试编写查询。
我不是MySQL专家,但在T-SQL中,它看起来如下:
SELECT listings.id
listings.name
custom_fields_data.value
sales_listings.created_at
FROM custom_fields_data
INNER JOIN sales_listings ON sales_listings.listing_id = custom_fields_data.owner_id
INNER JOIN sales ON sales.id = sales_listings.sale_id
INNER JOIN listings ON listings.id = sales.Id
WHERE custom_fields_data.field_id = 4
AND sales.buyer_id IN (12, 20, 21, 30)
在你的问题中,你没有明确定义清单表和其他表之间的关系。所以我假设sales.id = listings.id。