【发布时间】:2017-05-11 04:56:22
【问题描述】:
我想将表的列值用作列名,并将其用作与另一个表列名的 JOIN ON 值。以下是我的查询。
SELECT nid, sid,
MAX(CASE WHEN cid = 2 THEN data END) first_name,
MAX(CASE WHEN cid = 3 THEN data END) last_name,
MAX(CASE WHEN cid = 4 THEN data END) email,
MAX(CASE WHEN cid = 5 THEN data END) phone_number,
MAX(CASE WHEN cid = 6 THEN data END) transitions,
MAX(CASE WHEN cid = 7 THEN data END) **upload**,
MAX(CASE WHEN cid = 9 THEN data END) coupon_code
FROM wsd AS wsd JOIN files AS fm ON **upload** = fm.fid WHERE nid IN(66,67) GROUP BY sid
正如您看到上面的代码,我想使用上传列作为另一个表的 JOIN。另外,是否可以在结果中嵌入 HTML 标签?
【问题讨论】:
-
您应该查看查询执行的顺序,以了解为什么您不能在像您这样的查询中引用连接子句中的别名。 sqlbolt.com/lesson/select_queries_order_of_execution
-
这个问题似乎分为两部分。如果是这样,我不明白第一部分。
-
你能发布表结构和一些插入查询以获得一些测试数据吗?干杯
-
@Ognj3n,谢谢。好的,而不是别名,如何使用列值作为列名来使用它作为连接ON
标签: php mysql join multiple-columns