我有一個表bike_to_owner。我想選擇特定用戶擁有的當前項目。SQL從項目到所有者表中選擇所有者的所有項目
表結構
CREATE TABLE IF NOT EXISTS `bike_to_owner` (
`bike_id` int(10) unsigned NOT NULL,
`user_id` int(10) unsigned NOT NULL,
`last_change_date` date NOT NULL,
PRIMARY KEY (`bike_id`,`user_id`,`last_change_date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
在用戶的個人資料頁,我想顯示所有他/她當前的財產。
我寫了這樣一句話:
SELECT `bike_id`,`user_id`,max(last_change_date) FROM `bike_to_owner`
WHERE `user_id` = 3 group by `last_change_date`
,但我不能肯定它正常工作在所有情況下。 你可以請確認這是正確的,如果不是建議我更好的東西。 使用php/mysql。
在此先感謝!
基於Eric的回答下的討論,您能否提供一些示例數據以及您希望查詢返回的數據的樣例? – 2010-06-03 17:42:34
借調菲利普的評論。如果您提供了一些樣本數據,其中我提供的答案沒有給出正確的結果,並且您希望獲得正確的結果,我們可能可以幫助您更好一些。 – 2010-06-03 19:34:59
好的,這裏有一些示例數據。 INSERT INTO'bike_to_owner'('bike_id','user_id','last_change_date')值 (1,1,'2009-01-01'), (1,3,'2009-11-10') , (3,3,'2009-02-13'), (3,5,'2010-05-11'), (5,'2010-06-04'); 我希望用戶1只擁有自行車1,用戶1不具備在所有自行車和用戶5到自己的自行車3和5 – kdobrev 2010-06-04 10:11:33