|
|
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
ну что-то совсем крыша поехала, всегда считал если я делаю JOIN на какрой-то тэйбл то больше таблицы куда я джоинаю записей не может быть, но я оказался не прав, вот пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Всего записей на выходе 18, хотя я всегда считал что должно быть не более 10. кол-во в первой таблице, помогите понять как это происходит и как мне получить записей не более чем в таблице 1, только проверив есть ли в другой таблице такие num? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2015, 23:18:34 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelp, Все там четко, правильно все майсиквел показал. Подумай почему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2015, 23:42:56 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MikkiMouseMysqlHelp, Все там четко, правильно все майсиквел показал. Подумай почему миккимаус из киева, если я бы я понял то наверное бы не спрашивал, а если нет нормального ответа, то наверное не стоит флудить в ветке, подумай почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2015, 23:47:28 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
Ты и не мог понять. Прежде чем спрашивать - надо было хотя бы посмотреть на выбираемые записи. И попробовать понять, почему некоторые записи дублируются. И почему именно столько раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:02:53 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelp, У тебя не уникальные ключи для JOIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:04:09 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
Akina, Согласен, но я же делаю JOIN, то есть в моем понятии таблица1 является исходником и к ней добавляются данные из таблицы2 и не зависимо от уникально или нет MySQL должен был только добавить записи из другоей таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:07:50 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelp, Ну вот смотри на пальцах (так детям объясняют): в твоем запросе используется JOIN - объединение таблиц по какому-либо условию условие ты пишешь t1.num = t2.num Соответственно проходимся по всей левой табличке, ищем соответствия в правой и записываем сколько их 1) t1.num = 1 (1 запись * на 1 запись в табличке t2) = 1; 2) t1.num = 2 (3 записи * на 2 записи в табличке t2) = 6; 3) t1.num = 3 (2 записи * на 3 записи в табличке t2) = 6; 4) t1.num = 4 (1 запись * на 2 записи в табличке t2) = 2; 5) t1.num = 5 (2 записи * на 1 запись в табличке t2) = 2; 6) t1.num = 6 (1 запись * на 1 запись в табличке t2) = 1; В сумме получаем аккурат 18 записей в результирующем наборе. Понятно тебе так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:09:31 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MikkiMouse, Да, спасибо Микки, Акина уже объяснил, только вопрос другого направления: а могу ли я сделать JOIN на t1 чтобы в результате у меня осталось тоже кол-во записей или меньше, но я знал что эта запись точно существует в другой таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:17:06 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelp, Код: sql 1. 2. 3. 4. На сколько я представляю что-то типа такого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:36:46 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
alexnews, Извиняюсь воткнул LEFT JOIN, можно просто JOIN без WHERE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 00:46:34 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelpмогу ли я сделать JOIN на t1 чтобы в результате у меня осталось тоже кол-во записей или меньше, но я знал что эта запись точно существует в другой таблице? Для этого необходимо наличие (в структуре или вычисленных динамически) уникальных для записи конструкций - это может быть первичный индекс или, например, считаемая в запросе нумерация записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 08:54:54 |
|
||
|
Помогите понять плз
|
|||
|---|---|---|---|
|
#18+
MysqlHelpAkina, Согласен, но я же делаю JOIN, то есть в моем понятии таблица1 является исходником и к ней добавляются данные из таблицы2 и не зависимо от уникально или нет MySQL должен был только добавить записи из другоей таблицы... ну, он и ДОБАВЛЯЕТ записи, все верно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2015, 11:04:42 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39112757&tid=1832457]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 359ms |

| 0 / 0 |
