powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оставить отзыв
17 сообщений из 17, страница 1 из 1
Оставить отзыв
    #39030113
Есть таблицы passport с Фамилиями.
Есть таблицы reviews с отзывами.

Нужно организовать возможность оставлять отзывы одного человека о другом из базы.
Я может чего-то не понимаю... Но у меня только такая идея реализации. Может есть другие варианты? Или это вообще не правильно?

Помогите, пожалуйста, разобраться.
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030124
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или я чего-то не понял, или зачем таблицв review_author?

таблица отзывов:
Review_ID
ReviewAuthor_ID
ReviewTarget_ID
ReviewText
.....
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030127
xenix,

Да. Я об этом думал. Вот схема из запроса. НО как тогда запрос составлять. Он не проходит...
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030134
xenix,

как составить тут запрос?
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030136
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторкак составить тут запрос?
какой-то определенный или все, что в голову стукнут?
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030142
xenix,

Например,
список всех отзывов с Фамилиями вместо id_review_author и id_review_target
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030143
XENIX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсписок всех отзывов с Фамилиями вместо id_review_author и id_review_target

таблица Reviews содержит отзывы
Review_ID - первичный ключ
ReviewAuthor_ID - автор отзыва (ключ на таблицу Passport)
ReviewTarget_ID - о ком отзываются (ключ на таблицу Passport)
ReviewText - текст отзыва

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT R.Review_ID,
R.ReviewAuthor_ID,P2.*,
R.ReviewTarget_ID,P3.*,
R.ReviewText
FROM REVIEWS R
JOIN PASSPORT P2 ON R.ReviewAuthor_ID=P.PASSPORT_ID
JOIN PASSPORT P3 ON R.ReviewTarget_ID =P3.PASSPORT_ID
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030144
XENIX,

SELECT R.Review_ID,
R.ReviewAuthor_ID,P2.*,
R.ReviewTarget_ID,P3.*,
R.ReviewText
FROM REVIEWS R
JOIN PASSPORT P2 ON R.ReviewAuthor_ID=P.PASSPORT_ID
JOIN PASSPORT P3 ON R.ReviewTarget_ID =P3.PASSPORT_ID

Не понимаю. Что такое P2.* и P3.* ?
R. - это, надо полагать, название таблицы reviews (R.Review_ID, например)?
Но почему, если R - это Reviews , тут опять К - FROM REVIEWS R

О_о
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030148
XENIX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то я немного попутал. Так получше будет
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT R.Review_ID,
R.ReviewAuthor_ID,P2.*,
R.ReviewTarget_ID,P3.*,
R.ReviewText
FROM REVIEWS R
JOIN PASSPORT P2 ON R.ReviewAuthor_ID=P2.PASSPORT_ID
JOIN PASSPORT P3 ON R.ReviewTarget_ID =P3.PASSPORT_ID



авторR. - это, надо полагать, название таблицы reviews (R.Review_ID, например)?
Но почему, если R - это Reviews , тут опять К - FROM REVIEWS R
так надо. Откройте учебник в разделе про оператор JOIN
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030150
XENIX,

у вас просто JOIN
везде про виды join пишут. А про переменные какие-то аля P2 и R ни слова...
Вот, например .
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030158
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это Вы что-то неправильное читаете.
Вот тут

про все пишут
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030160
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030161
xenix,

а ссылки нет(
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030163
xenix,

а на русском ничего нет?
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030165
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030168
xenix,

запутали вы меня своими сокращениями.

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT Review.Review_ID,
ReviewR.ReviewAuthor_ID,P2.*,
Review.ReviewTarget_ID,P3.*,
Review.ReviewText
FROM REVIEWS Right
JOIN PASSPORT P2 ON Review.ReviewAuthor_ID=P2.PASSPORT_ID
JOIN PASSPORT P3 ON Review.ReviewTarget_ID=P3.PASSPORT_ID



FROM REVIEWS R - это right
а P2.* - это типа переменной.

теперь хоть что-то ясно стало...
...
Рейтинг: 0 / 0
Оставить отзыв
    #39030172
xenix,

попробовал выполнить ваш запрос. Создал базу с такими же полями, как вы использовали. Ошибка.

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT REVIEWS.Review_ID,
REVIEWS.ReviewAuthor_ID,P2.*,
REVIEWS.ReviewTarget_ID,P3.*,
REVIEWS.ReviewText
FROM REVIEWS RIGHT
JOIN PASSPORT P2 ON REVIEWS.ReviewAuthor_ID=P2.PASSPORT_ID
JOIN PASSPORT P3 ON REVIEWS.ReviewTarget_ID=P3.PASSPORT_ID
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оставить отзыв
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]