私はいくつかのガイダンスが必要です。私はコーディングの欠陥を発見した。2番目のテーブルからグループを使用して1つのテーブルからmysqlの行をカウントしてください。
表1:eventinfo
id
evid
eventtype
division
evtdate
tod
プラスより多くのフィールドが、この
SQLクエリのために重要ではありません:
SELECT evid, eventype, evtdate , tod
FROM `eventinfo`
WHERE evid = 105
は、私は2つのテーブルを持っています
eventtype division evtdate tod
beginner 0 2018-02-17 AM
intermediate 1 2018-02-17 AM
intermediate 2 2018-02-17 AM
advanced 1 2018-02-17 AM
advanced 2 2018-02-17 AM
beginner 0 2018-02-18 AM
intermediate 1 2018-02-18 AM
intermediate 2 2018-02-18 AM
advanced 1 2018-02-18 AM
advanced 2 2018-02-18 AM
表2:エントリ
id
entid
firstname
lastname
eventcat
evtdate
division
tod
プラスより多くの行が、これのために重要ではありません。
SQLクエリ:私は必要なページで
SELECT evid, eventcat, evtdate , tod , COUNT(*) AS count
FROM entries
WHERE evtid= '105' and evtstatus= 'pending'
GROUP BY evtdate, tod , evntcat
eventcat evtdate tod count
Advanced 2018-02-17 AM 35
Intermediate 2018-02-17 AM 18
Beginner 2018-02-17 AM 4
Advanced 2018-02-18 AM 35
Intermediate 2018-02-18 AM 18
、私は席が利用可能であるか、より多くのを確認するには、このコース/イベントにエントリをカウントする必要があります。 (このように私は "入力することができない人に告げる必要があるかどうかを知っている"私は、コーディングのこの時点で部門は重要ではないので、グループ化が必要です。
OK、ここに私の問題です。私の欠陥を除き、素晴らしい作品のコース/イベントのためのエントリはまだありませんところである。私は、第二日初心者が0(私は私の現在のクエリが表示されません理解している)
eventcat evtdate tod count
Advanced 2018-02-17 AM 35
Intermediate 2018-02-17 AM 18
Beginner 2018-02-17 AM 4
Advanced 2018-02-18 AM 35
Intermediate 2018-02-18 AM 18
**Beginner 2018-02-18 AM 0** <-----
であることを示すために、上記を必要とします私はいくつかのテーブルを結合しようとしましたが、運がありません(奇妙な結果とデータベースはSET_BIG_SELECTS = 1が必要だと言っています)
どんな助けでも大いに感謝していますe。
select ei.*,
(select count(*)
from entries e
where e.evtid = ei.evtid and e.evtstatus = 'pending'
) as cnt
from eventinfor ei
はあなたが必要 –
2018-02-18を「初心者」にしたいのはなぜですか? –