2013-03-01 58 views
0

我有一個簡單的標籤打印網頁,但遇到了一個障礙,如果有人訂購2本書。如果字段值爲2,mysql返回2行

SQL

SELECT 
    contacts.name,contacts.address,contacts_extra.amount_books 
FROM contact 
INNER JOIN contacts_extra ON contacts.id = contacts_extra.cid 
WHERE 
    contacts_extra.amount_books >= '1' 

現在如果contacts_extra amount_books = 2,那麼它必須返回2行,因爲我們需要2個標籤。

問候

+0

你確定:'如果有人訂購2本書'。在你的查詢中,你有'contacts_extra.amount_books> ='1''它應該是'contacts_extra.amount_books ='2''嗎? – 2013-03-01 12:55:36

+0

這裏有什麼問題?向我們顯示您在這裏的記錄 – DevelopmentIsMyPassion 2013-03-01 12:58:56

回答

0

使用Group By,見下圖:

SELECT contacts.name,contacts.address,contacts_extra.amount_books 
FROM contact 
INNER JOIN contacts_extra on contacts.id = contacts_extra.cid 
WHERE contacts_extra.amount_books >= '1' 
GROUP BY contacts.id; 
+0

缺少重點 - 字段值說明有多少個標籤。 > = 1只是不返回值='0'的條目 – 2013-03-04 08:42:10

0

讓simplyfy

select id,name,total_copier from contacts. 

是這樣的select語句。 正如它可以帶回

1,john,1 
2,peter,3 
3,sara,2 

我需要它是

1,john,1 
2,peter,2 
2,peter,2 
2,peter,2 
3,sara,2 
3,sara,2 

第三列決定多少次返回的行。

+0

有人請幫助 – 2013-03-08 13:09:09