0
我有三個表格:頁面,塊和pages_blocks。獲取頁面塊
我的數據庫架構看起來如下:
CREATE TABLE `blocks` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`name` char(40) NOT NULL,
`content` text NOT NULL
PRIMARY KEY (`id`)
);
CREATE TABLE `pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(100) NOT NULL,
`content` mediumtext NOT NULL
PRIMARY KEY (`id`)
);
CREATE TABLE `pages_blocks` (
`page_id` int(11) DEFAULT NULL,
`block_id` smallint(6) DEFAULT NULL,
`location` enum('left','right') DEFAULT NULL,
`display_order` smallint(6) DEFAULT NULL
);
什麼是完美的SQL代碼獲取「左」和「右」塊特定網頁?
非常感謝您的幫助。
嗨Andomar,我當我有一個以上的塊時,我會在同一頁面上獲得兩行。這是爲什麼? – emurad 2011-03-12 10:07:59
@emurad:SQL無法返回動態數量的列,因此如果可以有多個「左」塊,則最佳選項是每塊有一行。我在答案的底部添加了一種方法來做到這一點。 – Andomar 2011-03-12 10:12:10
我接受了解決方案。謝謝。 – emurad 2011-03-12 14:12:37