|
|
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Проблема такая. Есть две таблицы а и б. Записи таблицы б полем а_id ссылаются на записи таблицы а. Как выбрать все записи из а, с соответствующим им числом ссылок в таблице б. Причем должны выводится все записи из а, даже если в б нет ссылабщихся на эту запись, в этом случае должен выводится 0. Есть вариант select а.id,count(*) from а,б where а.id=б.а_id group by а.id Но беда в том, что при этом не выведутся записи из а, если на них нет ссылок в б. Вот такая вот беда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 11:50 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Для этого существует left join Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 11:53 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 11:59 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, а как будет выглядить запрос если еще одна появится таблица, к примеру С. Та же задача, только с 3-мя таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 11:58 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Есчо один LEFT JOIN Вроде - если не ошибаюсь - 30 таблиц таким макаром сджойнить можно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 12:09 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
Это конечно понятно :) А какой именно синтаксис? Вот 2 запроса, как их вместе объеденить? 1. $sth=$dbh->prepare("select forums.id, forums.name, COUNT(topics.id_f), DATE_FORMAT(forums.last_data_db, '%d-%m-%Y %H:%i:%s') from forums left join topics on forums.id = topics.id_f group by forums.last_data_db ORDER BY forums.last_data_db DESC LIMIT $smesh, $limit"); 2. $sth=$dbh->prepare("select COUNT(replies.id_f) from forums left join replies on forums.id = replies.id_f group by forums.last_data_db ORDER BY forums.last_data_db DESC LIMIT $smesh, $limit"); За ранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 12:29 |
|
||
|
Как можно получить 0 count'ом
|
|||
|---|---|---|---|
|
#18+
serf2004Подскажите пожалуйста, а как будет выглядить запрос если еще одна появится таблица, к примеру С. Та же задача, только с 3-мя таблицами. SELECT* FROM (user LEFT JOIN phone ON user.id = phone.user_id) & LEFT JOIN address ON user.id = address.user_id WHERE user.id = 2; Tables: user, phone, address ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=677&tid=1854816]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 332ms |

| 0 / 0 |
