0

私のsqlite dbには、入札とロットの2つのテーブルがあります。

入札:

id
name
address

ロット:

id
tender_id # it's tender's ID from table `tenders`
summ

1 つの入札に多くのロットが含まれる場合があります。ロットが 0 の入札をカウントする方法は?

次のようなクエリを試しました。

select lots.* from lots
inner join tenders on tenders.id = lots.tender_id
group by lots.id
having count(*) =0

SELECT COUNT(tenders.id) AS cnt FROM tenders, lots WHERE lots.tender_id = tenders.id group by tenders.id having cnt=0

結果なし。しかし、私がやろうとすると

select * from lots where tender_id=263128

結果として 0 行が表示されます。

ありがとうございました。

4

4 に答える 4

0

こんにちは、参考になります...

SELECT * FROM (
SELECT T.*, (SELECT COUNT(*) FROM lots L WHERE L.empid = T.empid) AS 'RecordFound'  
FROM tenders AS T) TendersLots
WHERE RecordFound = 0

ありがとう、ヴィシャル・パテル

于 2013-10-17T09:31:23.710 に答える
0

サブクエリの使用:

SELECT id, (SELECT COUNT() FROM lots WHERE tender_id=tenders.id) AS LotCount FROM tenders;
于 2013-10-17T09:30:32.023 に答える