|
Подсчёт кол-ва строк исходя из параметров указанных во вспомогательной таблице.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Требуется подсчитать кол-во строк из первой таблицы tableA удовлетворяющих условию для каждой строки из второй таблицы tableB Результат должен быть такой. id field1 field2 kolvo 1 a b 3 2 c d 3 3 e f 0 Я написал такой запрос: SELECT tableB.id, tableB.field1, tableB.field2, COUNT tableA.Afield AS kolvo FROM tableA, tableB WHERE tableA.fieldA >= tableB.field1 and tableA.fieldA <= tableB.field2 GROUP BY tableB.id Но при таком запросе третья строка в результате вообще не появится, т.к. она не удовлетворяет условию в WHERE. А мне надо чтобы она была, просто в поле kolvo должен стоять нуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2013, 11:22 |
|
Подсчёт кол-ва строк исходя из параметров указанных во вспомогательной таблице.
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2013, 19:32 |
|
Подсчёт кол-ва строк исходя из параметров указанных во вспомогательной таблице.
|
|||
---|---|---|---|
#18+
White Owl, Спасибо, правда я уже сам написал вот таким образом: SELECT tableB.id, tableB.field1, tableB.field2, sum (case when tableA.fieldA >= tableB.field1 and tableA.fieldA <= tableB.field2 then 1 else 0 end) AS kolvo FROM tableA, tableB GROUP BY tableB.id ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2013, 19:39 |
|
Подсчёт кол-ва строк исходя из параметров указанных во вспомогательной таблице.
|
|||
---|---|---|---|
#18+
Эге, а если у меня не одно поле для просчёта количества чего-либо , в таком случае придётся указывать условие для КАЖДОГО такого поля. Это зело неудобственно! А ещё какие-нибудь варианты есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2013, 11:03 |
|
|
start [/forum/topic.php?fid=54&gotonew=1&tid=2008865]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
105ms |
get topic data: |
13ms |
get first new msg: |
36ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 507ms |
0 / 0 |