1

Тема: Ліміт записів

Привіт усім! Підкажіть будь ласка, як в цьому запиті

SELECT *
FROM `testing_questions`
RIGHT JOIN `testing_answers` ON ( `testing_answers`.`testing_answers-question` = `testing_questions`.`testing_questions-id` )
WHERE `testing_questions-toppic` = '1'
LIMIT 0 , 1

зробити так, щоб воно взяло один запис з таблиці testing_questions, і додало справа стільки рядочків з іншої таблиці, скільки буде співпадінь  `testing_answers`.`testing_answers-question` = `testing_questions`.`testing_questions-id` ???

2

Re: Ліміт записів

Це питання з приколом так розумію :)
поданий весь SQL-запит правильний, перевіряв в себе через phpMyAdmin

http://не-дійсний-домен/ForumReplace/question_forum_01.jpg

трохи теорії:
1. SELECT * - вибирає всі колонки з таблиці даних, вкажеш конктетно SELECT `testing_answers-question` - буде лише колонка `testing_answers-question`
2. FROM `testing_questions` RIGHT JOIN `testing_answers` - вибираємо з таблиці `testing_questions` та обєднуємо з таблицею `testing_answers` , детальніше RIGHT JOIN
3. Умова що безпосередньо виводити в таблиці складається з двох частин;
3.1 має бути одинакові значення колонок  `testing_answers`.`testing_answers-question` = `testing_questions`.`testing_questions-id`
3.2 оператор WHERE `testing_questions-toppic` = '1' значення лише 1, а не 2, 3 чи інше
4. Виводить лише одне значення з обєднаних табличок оператор LIMIT 0 , 1 LIMIT (єдине я забув в себе 30 значень вказав)

3

Re: Ліміт записів

А мені треба, щоб вивело один запис з таблиці `testing_questions`, а потім приєднало до нього стільки полей з `testing_answers`, стільки буде знайдено `testing_answers`.`testing_answers-question` = `testing_questions`.`testing_questions-id`
Двома запитами я це запросто зроблю, питання в тому - як зробити ОДИН

4

Re: Ліміт записів

Ну покажи як ти зробиш це двома запитами? А то чесно щось не розумію що ти хочеш?

Один запис з таблиці `testing_questions`,- це одне запитання, так? І всі можливі відовіді на це запитання, з таблиці  `testing_answers`, так?

Тоді Limit 0,1 тут не потрібно,- тому що воно виводить лише один запис взагалі, тобто таблиця з одного рядка. А якщо співпадань скажімо 5, то потрібно, щоб виводило 5 записів з колонки, зрозуміло LIMIT цього не дасть вивести

А вивести стільки записів самих питань, то вкажи в SELECT поле яке ти хочеш щоб вивелись, там наприклад "answers" (відповіді)

5 Востаннє редагувалося Djalin (26.12.2014 12:08:07)

Re: Ліміт записів

вам сюди

6

Re: Ліміт записів

Щось на зразок таблиці - топік - питання Ід - відповідь

SELECT `testing_questions-toppic` ,  `testing_questions-id` ,  `question_a` 
FROM  `testing_questions` 
RIGHT JOIN  `testing_answers` 
ON (  `testing_answers`.`testing_answers-question` =  `testing_questions`.`testing_questions-id` ) 
WHERE  `testing_questions-toppic` =  '1'