2012-12-01 26 views
-2

我有兩個表匹配ID:SQL:獲取的行數,其中ID在參考表

  • bid_tag
  • bid_tag_design

    bid_tag: ID,tag_design,tag_size,USER_ID ,保留

    big_tag_design: id,name

我希望能夠查詢多少標籤設計有各自的bid_tag表WHERE user_id = 0 AND reserved = 0

內的話,我將使用查詢來創建一個CRON工作的庫存水平的每日報告...

+0

每張表中的列是什麼。 –

回答

0

在您的評論之後,似乎表格之間的鏈接是相反的。所以我改變了查詢採取的架構考慮,它應該與這個合作:

SELECT COUNT(*) as nbDesigns, bid_tag_design.id, bid_tag_design.name 
FROM bid_tag_design 
    LEFT JOIN bid_tag ON bid_tag.tag_design = bid_tag_design.id 
WHERE bid_tag.user_id = 0 AND bid_tag.reserved = 0 
GROUP BY bid_tag.tag_design 

讓我們假設你在bid_tag_design有這樣的:

id | name 
1 | design 1 
2 | design 2 

然後這bid_tag

id | tag_design | user | reserved 
1 | 1   | 0 | 0 
2 | 1   | 0 | 0 
3 | 2   | 0 | 0 
4 | 2   | 0 | 0 
5 | 1   | 1 | 0 
6 | 2   | 2 | 0 
7 | 1   | 0 | 0 
8 | 1   | 0 | 0 
9 | 1   | 3 | 0 

然後第二個查詢的結果應該是

nbDesigns | id | name 
4   | 1 | design 1 
2   | 2 | design 2 
+0

'SELECT COUNT(*)AS nbDesigns,bid_tag.id FROM bid_tag LEFT JOIN bid_tag_design ON bid_tag.id = bid_tag_design.id WHERE bid_tag.user_id = 0 AND bid_tag.reserved = 0 GROUP BY bid_tag.id' - 給我的是每個結果的一行......是否沒有辦法爲每個設計返回一行,並將其數量作爲一列? – dcolumbus

+0

新的查詢呢?我以爲你的桌子是以N個設計的另一個訂單1標籤連接的,而不是N個標籤的1個設計 – koopajah

+0

看看我在帖子中的編輯。'bid_tag_design'包含兩列:'id'和'name' ...我需要能夠顯示每行如下:'tag_id,tag_name,count' – dcolumbus

1

如果你只想計數,而不是按標籤數量,然後是這樣的:

select count(*) 
from bid_tag_design 
where user_id = 0 and reserved = 0 

做它,假設USER_ID和保留在該表。你只需要當bid_tag有一個或兩個領域,類似的加入:

select count(*) 
from bid_tag bt join 
    bid_tag_design btd 
    on bt.bid_tag_id = btd.bid_tag_id 
where bt.user_id = 0 and btd.reserved = 0 

如果你想爲每個設計一排,然後組由:

select btd.bid_tag_design_id, count(*) 

從bid_tag BT加盟上bt.bid_tag_id = btd.bid_tag_id 其中bt.user_id = 0 bid_tag_design BTD 和btd.reserved = 0

+0

'SELECT COUNT(*)FROM BT bid_tag JOIN BTD bid_tag_design ON bt.tag_design = btd.id WHERE bt.user_id = 0 AND = bt.reserved 0' - 這只是給我一個總數。我正在尋找的是每個設計的一排,計數爲 – dcolumbus

0

嘗試此

 select tag_design ,count(tag_design) countdesign 
    from bid_tag 
    where user_id = 0 and reserved = 0 
    group by tag_design 
+0

,這只是給我一個總數。我需要每個設計都在自己的行上,並有自己的數量。 – dcolumbus

+0

看看我的編輯,如果它適用於你。 –