如何比较不同表中的三个值?
pm_meta
+----+----------+--------+----------+
| id | item_id |meta_key|meta_value|
+----+----------+--------+----------+
| 2 | 100 | google |googl.com |
| 3 | 101 | yahoo |yahoo.com |
| 3 | 102 | msn |msn.com |
+----+----------+--------+----------+
pm_embed_code
+------+-----------+------------+
| id | uniq_id |embed_code |
+------+-----------+------------+
| 100 | abcd |<iframe src=|
| 101 | dddc |<iframe src=|
| 102 | ffdd |<iframe src=|
+----+----------+------------+
$sql = "SELECT *
FROM pm_embed_code, pm_meta
WHERE pm_embed_code.uniq_id = 'abcd'
AND pm_embed_code.id = pm_meta.item_id
AND pm_meta.meta_key = 'google' ";
echo $row['meta_value']; // I want result "googl.com"
我想检查 pm_embed_code.uniq_id= abcd
并选择 pm_embed_code.id
,然后检查 pm_embed_code.id = pm_meta.item_id
和另外,如果pm_meta.meta_key = google
并且如果全部打印meta_value
更新:
$sql = "SELECT *
FROM pm_meta
WHERE pm_meta.meta_key = 'google' ";
echo $row['meta_value'];
这个也没有显示任何...为什么?
最佳答案
查询:
选择 pmc.id 作为“pm_embed_code.id”,pm.meta_key AS“pm_meta.meta_key” FROM pm_meta pm LEFT OUTER JOIN pm_embed_code pmc ON pmc.id = pm.item_id WHERE pmc.uniq_id = “abcd” AND pm。 meta_key = '谷歌'
代码
$sql = "SELECT pmc.id as "pm_embed_code.id", pm.meta_key AS "pm_meta.meta_key"FROM pm_meta pm LEFT OUTER JOIN pm_embed_code pmc ON pmc.id = pm.item_id WHERE pmc.uniq_id = "abcd “并且 pm.meta_key = 'google';”
回显$row["pm_meta.meta_key"];
关于Mysql比较2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30168307/