Sql e FK至邮政;共享的顶层也会有相同的FK发布。请帮我理解为什么不是这样。 |----------------| |-------------------| |-------------------| | Post | |
e FK至邮政;共享的顶层也会有相同的FK发布。请帮我理解为什么不是这样。Sql e FK至邮政;共享的顶层也会有相同的FK发布。请帮我理解为什么不是这样。 |----------------| |-------------------| |-------------------| | Post | | ,sql,mysql,Sql,Mysql,e FK至邮政;共享的顶层也会有相同的FK发布。请帮我理解为什么不是这样。 |----------------| |-------------------| |-------------------| | Post | | Top_Level | | Comment | |----------------| |-------------------| |-------------------| | PK | I
|----------------| |-------------------| |-------------------|
| Post | | Top_Level | | Comment |
|----------------| |-------------------| |-------------------|
| PK | ID | | PK, FK | Post_ID | | PK, FK | Post_ID |
| | DATE | | | Title | | FK | TopLv_ID |
| | Text | |-------------------| |-------------------|
|----------------|
|------------------------| |------------------| |--------------------|
| Post | | Top_Level | | Comment |
|------------------------| |------------------| |--------------------|
| ID | DATE | Text | | Post_ID | Title | | Post_ID |TopLv_ID |
|----|------------|------| |----------|-------| |----------|---------|
| 1 | 13/03/2008 | shy | | 1 | XYZ | | 2 | 1 |
| 2 | 14/03/2008 | mrj | | 3 | ABC | | 4 | 1 |
| 3 | 15/03/2008 | quw | | 7 | NMO | | 5 | 3 |
| 4 | 16/03/2008 | ksi | |------------------| | 6 | 1 |
| 5 | 17/03/2008 | kso | |--------------------|
| 6 | 18/03/2008 | aoo |
| 7 | 19/03/2008 | all |
|------------------------|
|--------------------------------|
| RESULT |
|--------------------------------|
| ID | DATE | Title | Text |
|----|------------|-------|------|
| 7 | 19/03/2008 | 123 | all |
| 1 | 13/03/2008 | ABC | shy |
| 3 | 15/03/2008 | XYZ | quw |
|--------------------------------|
SELECT DISTINCT sub1.*, super.*
FROM super INNER JOIN sub1 ON super_id
LEFT JOIN sub2 ON super_id AND sub1_id
ORDER BY COALESCE(sub2.dateColumn, sub1.dateColumn)
ORDER BY ISNULL(firstDateColumn, ISNULL(secondDateColumn, thirdDateColumn))
SELECT pt.id, pt.`date`, t.title, pt.`text`
FROM Top_Level t INNER JOIN Post pt ON (t.post_id = pt.id)
LEFT OUTER JOIN (Comment c INNER JOIN Post pc ON (c.post_id = pc.id))
ON (c.toplv_id = t.post_id)
GROUP BY pt.id
ORDER BY MAX(GREATEST(pt.`date`, pc.`date`)) ASC;
+----+------------+-------+------+
| id | date | title | text |
+----+------------+-------+------+
| 7 | 2008-03-19 | NMO | all |
| 1 | 2008-03-13 | XYZ | shy |
| 3 | 2008-03-15 | ABC | quw |
+----+------------+-------+------+