我模仿一個小型的數據庫更容易解釋最後插入的項目:選擇不僅關係到另一個註冊表
CREATE TABLE bands (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(120) NULL,
PRIMARY KEY(id)
)
TYPE=InnoDB;
CREATE TABLE albums (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
band_id INTEGER UNSIGNED NOT NULL,
album_name VARCHAR(120) NULL,
rating INTEGER UNSIGNED NULL,
insertion_date TIMESTAMP NULL,
PRIMARY KEY(id),
INDEX albums_FKIndex1(band_id),
FOREIGN KEY(band_id)
REFERENCES bands(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
TYPE=InnoDB;
現在,假裝我們已經有一些樂隊和他們各自的表中登記的多張唱片,我想僅選擇每個已註冊樂隊中最後插入的專輯。
PS:我必須使用「album.insertion_date」字段來確定哪個相冊是最後插入的。
也許你可以粘貼到某處(https://gist.github.com/)插入的小轉儲?我需要執行查詢測試。 – Anatolij 2011-04-29 12:57:55
您將問題標記爲Postgresql,但您的SQL清楚地顯示了MySQL。你在用什麼? – 2011-04-29 14:04:03
我正在使用postgres。看起來我以錯誤的格式導出了SQL – marcio 2011-04-29 14:25:50