|
|
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Всем привет! Народ, вот такой вопрос, в phpMyAdmin не работает простейший запрос. Есть таблица: id name pid (parent_id)1 Раздел_1 02 Раздел_2 03 Раздел_3 04 Раздел_4 05 Подраздел 1.1 16 Подраздел 1.2 17 Подраздел 1.3 18 Подраздел 2.1 29 Подраздел 2.2 210 Подраздел 1.1.1 511 Подраздел 1.1.2 512 Подраздел 1.1.2.1 1113 Подраздел 3.1 314 Подраздел 4.1 415 Подраздел 4.2 4 Мне надо сделать выборку записей без родителей, с тремя и более потомками, ну т.е. те, у которых pid=0, с 3 и более дочерними узлами, а это только запись "Раздел_1", т.к. на него ссылаются Подраздел 1.1, Подраздел 1.2 и Подраздел 1.3. Пишу запрос в phpMyAdmin: Код: sql 1. Нормально работает, но только частично решает задачу. Потом пишу например вот такой запрос: Код: sql 1. 2. Не то, что мне требуется, но даже он не работает. Помогите пожалуйста, это я неправильно запрос составил, или phpMyAdmin может как то надо настроить? Всё на хостинге beget.ru лежит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 10:11:28 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63Мне надо сделать выборку записей без родителей, с тремя и более потомками, ну т.е. те, у которых pid=0, с 3 и более дочерними узлами Ну так и пишите запрос, выполняющий именно эту выборку. Потребуется 2 копии таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 10:41:53 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Так я не знаю как его составить. Сделал только выборку тех записей, у которых нет родителя: Код: sql 1. И отдельно выборку дочерних записей: Код: sql 1. мне надо как то подсчитать для каждой записи из 1-й выборки, количество её дочерних, и если больше 3, то вывести эту запись. Т.е. надо Count как то использовать. Для каждой записи из 1-й выборки свой счётчик завести, как то так, но вот реализовать не могу, не получается. Переменные тоже использовать пробовал, но не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 11:11:05 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Свяжите две копии таблицы по связи родитель=>потомок. Отберите только родителей, не имеющих родителей. Сгруппируйте по родителю и посчитайте потомков. Оставьте тех, у кого потомков не менее 3. Типа Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 12:06:37 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
А как сделать копию таблицы? Пробую сделать копию через переменную, но phpMyAdmin выдаёт ошибку: Код: sql 1. 2. авторStatic analysis: 2 errors were found during analysis. A new statement was found, but no delimiter between it and the previous one. (near "SELECT" at position 12) This type of clause was previously parsed. (near "SELECT" at position 49) Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 13:17:47 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63А как сделать копию таблицы?во-первых, зачем? а во-вторых, create table + insert into ... select from ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 13:44:57 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Ну это я отвечал на пост Akina . Сейчас попробую с Create Table. Просто думал может можно как то в переменную засунуть все данные из копируемой таблицы, не создавая её ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 13:55:02 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63Сейчас попробую с Create Table. Просто думал может можно как то в переменную засунуть все данные из копируемой таблицы, не создавая еёНе надо создавать физическую копию. Нужна всего лишь логическая копия (т.е. та же таблица под другим именем), как создавать которую Akina уже показал - 18776672 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 14:01:38 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Пробовал я этот запрос делать - ну не работает он, ошибки выдаёт: авторStatic analysis: 8 errors were found during analysis. Unexpected character. (near "[" at position 116) Unexpected character. (near "]" at position 125) An expression was expected. (near "table" at position 18) Unrecognized keyword. (near "table" at position 18) Unexpected token. (near "t1" at position 24) Unexpected token. (near "," at position 26) Unrecognized keyword. (near "table" at position 28) Unexpected token. (near "t2" at position 34) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 14:17:21 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63как сделать копию таблицы? Где я писал слово "сделать"??? fenix_63ошибки выдаёт MySQL не выдаёт ТАКИЕ сообщения об ошибках. Это первое. И второе - если тебе ответили, это не значит, что надо отключить мозг и тупо копипастить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 14:46:28 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Что к словам то цепляться? Связать копии надо JOIN'ами, но мне эти самые копии то как то получить сначала надо, вот я тут и спрашивал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:11:12 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63Связать копии надо JOIN'ами Вот потому и цепляться! Это же надо быть дважды слепым, чтобы не увидеть в строке Код: sql 1. двух копий таблицы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:20:18 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Ок, может и не заметил, так я ж не профи. Как тогда от этих багов избавиться, кроме квадратных скобок у DISTINCT ( https://fotki.yandex.ru/next/users/tltfenix/album/74102/view/992210 )? Это мне phpMyAdmin выдал. Да, сейчас тупо скопировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:32:37 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
таблицу `table` называть не надо, или возьмите ее в апострофы Akina привел для примера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:36:56 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Ну, во-первых, неплохо бы заменить слово table на имя своей таблицы. На всякий случай уточню - это нужно проделать тоже в двух экземплярах. Во-вторых, квадратные скобке в MySQL-коде всегда обозначают компонент, который должен либо включаться, либо нет, в зависимости от требуемой логики. С обязательным удалением этих скобок, само собой. Вот и подумай, требует ли ТВОЯ логика наличия DISTINCT или нет. Ну и алиасы поменяй, чтобы они везде были одни и те же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:38:49 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, и не чудите... вы дали алиасы t1 t2 В дальнейшем обращаетесь по псевдонимам.... t1.poleN t2.poleM ... (откуда у вас table1 table2 на картинке?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:40:49 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovоткуда у вас table1 table2 на картинке? Я так написАл от руки. А он тупо скопипастил, не пытаясь понять сути происходящего. За что, собственно, и был грубо обруган. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:44:18 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Фантастика, работает, спасибо народ огромное. Рабочий код: Код: sql 1. DISTINCT убрал, т.к. допускаются повторения P.S. не злитесь народ что туплю, ну бывают случаи что ну никак не доходит, хоть часами гугли и примеры смотри P.P.S. Оставьте пожалуйста тему открытой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:58:04 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Народ, ещё есть вопрос: Как сделать выборку записей без потомков, но с 2-мя старшими родителями? Есть вот что: Код: sql 1. Но такой запрос выдаёт лишнюю запись Подраздел 1.1.2.1 (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 14:08:50 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Akina, я это понял... вопрос был к ТС... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 14:24:50 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63такой запрос выдаёт лишнюю запись Подраздел 1.1.2.1 ((Это почему же она - лишняя? fenix_63 Код: sql 1. Приглядитесь к этой паре условий повнимательнее... fenix_63сделать выборку записей без потомков, но с 2-мя старшими родителями Слабопонятная формулировка, на самом деле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 15:54:12 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Akinafenix_63сделать выборку записей без потомков, но с 2-мя старшими родителями Слабопонятная формулировка, на самом деле...Да что там непонятного, ему нужны все потомки второго уровня (внуки то есть). ...скорее всего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 08:10:11 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
tanglirему нужны все потомки второго уровня Возможно... а, может, и "не менее чем второго". У потомка третьего уровня вполне себе имеется "2 старших родителя", и нигде не сказано, что их должно быть строго два, а не больше. Так что сначала надо заставить ТС самого понять, что же ему на самом деле надо, и заставить это правильно сформулировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 08:52:26 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
Нужны записи без потомков, но с 2-мя старшими родителями. Т.е. нужны записи, НА КОТОРЫЕ нет ссылок, и у которых как минимум есть 2 родителя - т.е. условно "отец", и "дед". "Прадеды" и "Пра-прадеды" даже если они и есть - их выводить не нужно. Akina , да, я сейчас по-внимательнее условие почитал - точно, запрос то мой верный )) https://fotki.yandex.ru/next/users/tltfenix/album/74102/view/992336 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 14:13:31 |
|
||
|
Не работают запросы в phpMyAdmin
|
|||
|---|---|---|---|
|
#18+
fenix_63нужны записи, НА КОТОРЫЕ нет ссылок, и у которых как минимум есть 2 родителя - т.е. условно "отец", и "дед". "Прадеды" и "Пра-прадеды" даже если они и есть - их выводить не нужно. А теперь в свете этой информации растолкуйте, почему fenix_63запись Подраздел 1.1.2.1 названа лишней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 14:45:46 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39163575&tid=1832167]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 373ms |

| 0 / 0 |
