【发布时间】:2016-11-28 19:20:10
【问题描述】:
我正在尝试将两个表合并到一个搜索查询中。
表 1:常见问题解答
| faq_id | title | status | url_key |
| ------ | ----- | ------ | ------- |
| 1 | Test | 1 | go.html |
表 2:faq_value
| faq_value_id | faq_id | attribute | value |
| ------------ | ------ | --------- | ------- |
| 1 | 1 | metakey | testing |
| 2 | 1 | metadesc | this is a test |
| 3 | 1 | meta_image | test.jpg |
现在我想要的查询结果如下所示:
| faq_id | title | status | metadesc | metakey | meta_image | url_key |
| ------ | ----- | ------ | -------- | ------- | ---------- | ------- |
| 1 | Test | 1 | this is a | testing | test.jpg | go.html |
到目前为止我的尝试失败了:
SELECT
faq.faq_id,faq.title,status,
(SELECT faq_value.value AS metadesc WHERE faq_value.attribute_code = 'metadesc'),
(SELECT faq_value.value AS metakey WHERE faq_value.attribute_code = 'metakey'),
(SELECT faq_value.value AS meta_image FROM faq_value WHERE faq_value.attribute_code = 'meta_image')
faq.url_key,
FROM faq
INNER JOIN faq_value ON faq_value.faq_id = faq.faq_id
我确定我只是忽略了一些愚蠢的事情,但就是无法发现。这个踢出一个SQL错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE faq_value.attribute_code = 'metadesc'), (SELECT faq_value.value AS metakey' at line 2
【问题讨论】:
标签: mysql datatable inner-join