我有一个包含文章和股票信息的数据库(两个表)。输入文章 id 时,我从文章表中选择文章,做一些其他的事情,然后查看库存表(如果文章可用)。
这可能很容易SELECT * FROM articles
,但是:我的articles
表有一个字段parent_id
。如果已设置,我应该选择父行。让我举例说明:
+----+-----------+---------+---------+
| id | parent_id | article | country |
|----|-----------|---------|---------+
| 1 | | abc | uk |
| 2 | | cde | us |
| 3 | | efg | can |
| 4 | 6 | hij | mex |
| 5 | | klm | bra |
| 6 | | nop | us |
| 7 | 8 | qrs | mex |
| 8 | | tuv | uk |
+----+-----------+---------+---------+
如果我搜索 article abc
,它应该返回英国国家的第 1 行。如果我正在搜索hij
,查询应该返回第 6 行,国家为 US 而不是第 4 行,国家为 mex。有什么方法可以在 MySQL 中执行此操作,还是更快/更好/使用 PHP 将其拆分为两个查询的唯一方法?