我有我的表做歸一化:顯示的數據已超過1個相同DATAS
從:tb_1
===================================
| id | doc_name | title | author |
===================================
| 1 | doc1 | title1 | author1|
| | | | author2|
| 2 | doc2 | title2 | author3|
| | | | author4|
===================================
成爲:
tb_a tb_b
======================= =========================
|id_a|doc_name| title | |id_b| doc_name| author |
======================= =========================
| 1 | doc1 | title1| | 1 | title1 |author1 |
| 2 | doc2 | title2| | 2 | title1 |author2 |
======================= | 3 | title2 |author3 |
| 4 | title2 |author2 |
=========================
我想顯示如下結果:
doc1 title1 author1 author2
doc2 title2 author3 author4
下面的代碼:
$query = mysql_query(" SELECT tb_a.doc_name, tb_a.title,
tb_b.doc_name, tb_b.author
FROM tb_a
JOIN tb_b ON tb_a.doc_name = tb_b.doc_name ");
while ($row = mysql_fetch_array($query)) {
$doc = $row['doc_name'];
$title = $row['title'];
$author = $row['author'];
echo $doc; echo $title ; echo $author;
}
但結果是: doc1 title1 author1
doc1 title1 author2
doc2 title2 author3
doc2 title2 author4
請幫助我,非常感謝你:)
不回答你的問題,而是一個側面建議:'tb_b'不應該包含'doc_name'列,因爲那是多餘的'tb_a'。該列應該替換爲'doc_id',它包含'tb_a'中相應行的'id_a'列。 – Barmar