|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
Есть таблица "Производителей", есть 2 таблицы "Товаров" и "Услуг" этих производтелей. Нужно выдать список производителей с количествами товаров и услуг. Запрос: SELECT p.ProizvoditelId, p.ProizvoditelName, count(t.ProizvoditelId), count(u.ProizvoditelId) FROM Proizvoditeli p LEFT JOIN Tovary t ON (p.ProizvoditelId=t.ProizvoditelId) LEFT JOIN Uslugi u ON (p.ProizvoditelId=u.ProizvoditelId) GROUP BY p.ProizvoditelName неправильно выдает количества товаров и услуг. Подскажите плизз как правильно?? Заранее благодарна ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 11:34 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
а если убрать слова LEFT - то правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 12:27 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
выдается ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:29 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
ну а если то что в ON переписать в WHERE? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 14:26 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
а если посчитать отдельно товары и отдельно услуги, верно считает? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 14:32 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
И ON в WHERE я уже прописывала...и если тут оставить одну таблицу, то считает правильно, а с двумя не хочет. Может надо как-то по другому? Я в JOIN-ах не сильна... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 14:49 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
а так? Код: plaintext 1. 2. 3. 4. 5. 6. 7.
тоьлко если ошибки будут, пишите какие - у меня mysqlя давно уже нету, по памяти пишу ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 14:54 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
или isnull(t.ProizvoditelId) итд.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 14:56 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
2fedd: сделала, получается также. Почему то количества перемножаются и отображаются везде одинаково во всех столбцах. Т.е. если у производителя 3 товара и 5 услуг, то в каждом столбце отображается по 15... Видимо никак тут с п/ю JOIN-а не покатит..:( а странно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 15:11 |
|
запрос с объединением нескольких таблиц (JOIN) и с количествами элементов...
|
|||
---|---|---|---|
#18+
точно сделали sum а не count? я извиняюсь, я не вижу где наша ошибка. если никто не ответит, запостите, что возвращает этот запрос, только без sumов, countов и goup byев, но с left joinами. Хотя бы limit 30. посмотрим где там nullы, почему не считает ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 15:15 |
|
|
start [/forum/topic.php?fid=47&fpage=694&tid=1855500]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 312ms |
total: | 444ms |
0 / 0 |