Jump to content

Нужна ваша помощь в SQL


Alexey
 Share

Recommended Posts

Здравствуйте, нужна ваша помощь в запросе 2 таблиц. В общем один чел с форума мне помог, но в результате кое что не учли, и теперь есть проблема в запросе.
Вот запрос: 

"SELECT * FROM `".PREFIX."_tasks` tb1, `".PREFIX."_done` tb2 ORDER by task_id ASC LIMIT 0, 300"

Но мне нужно сделать так, что бы выводились все задания. И сортировка была под каждое задание, если в базе "wf_done" например нет полей, то устанавливать status = 0
Не понимаю в чем ошибка, не особо дружу с sql прочитал кучу документации с работой с 2 таблицами, но видимо не понимаю. Либо если такое не возможно, предложите как переписать 2 таблицы, либо вариант использования

page_1.png

page_2.png

Link to comment
Share on other sites

Начнём с того откуда выводить данные с wf_done?

Или тебе нужно выводить каждому пользователю их задания>?

 

Цитата

если в базе "wf_done" например нет полей, то устанавливать status = 0

А как она у тебя вообще там заноситься? И что значит если нет полей, то там поставить значение статуса 0?

Лично я так понимаю!!!Есть 2 таблицы.В первой список всех заданий.Она называется wf_task.

Там только задания.Есть вторая таблица wf_done где хранятся все пользователи которые хотят выполнять задания.

Или же их там нет?И строка туда заноситься при нажатие выполнить задание>?

 

Если нужно вывести список всех заданий пользователя, то WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id.

"SELECT * FROM `".PREFIX."_tasks` tb1, `".PREFIX."_done` WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id ORDER by task_id ASC LIMIT 0, 300"

Но это выведет все задания пользователя.

Чтоб отсортировать статус.Добавь  AND tb.2status = 0 или 1 или 2 итд.

"SELECT * FROM `".PREFIX."_tasks` tb1, `".PREFIX."_done` WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id AND tb.2status = 0 или 1 или 2 итд ORDER by task_id ASC LIMIT 0, 300"

Тогда отсортирует по id задания по id пользователя и по типу статуса .

Писал на коленке.Могут быть ошибки.Но смысл понятен думаю.Если что пиши в вк.Помогу когда свободен.

Link to comment
Share on other sites

2 часа назад, KirKMS сказал:

Начнём с того откуда выводить данные с wf_done?

Или тебе нужно выводить каждому пользователю их задания>?

 

А как она у тебя вообще там заноситься? И что значит если нет полей, то там поставить значение статуса 0?

Лично я так понимаю!!!Есть 2 таблицы.В первой список всех заданий.Она называется wf_task.

Там только задания.Есть вторая таблица wf_done где хранятся все пользователи которые хотят выполнять задания.

Или же их там нет?И строка туда заноситься при нажатие выполнить задание>?

 

Если нужно вывести список всех заданий пользователя, то WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id.

"SELECT * FROM `".PREFIX."_tasks` tb1, `".PREFIX."_done` WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id ORDER by task_id ASC LIMIT 0, 300"

Но это выведет все задания пользователя.

Чтоб отсортировать статус.Добавь  AND tb.2status = 0 или 1 или 2 итд.

"SELECT * FROM `".PREFIX."_tasks` tb1, `".PREFIX."_done` WHERE tb1.tasks_id = tb2.done_id AND  tb1.тут id текущего пользователя= tb2.user_id AND tb.2status = 0 или 1 или 2 итд ORDER by task_id ASC LIMIT 0, 300"

Тогда отсортирует по id задания по id пользователя и по типу статуса .

Писал на коленке.Могут быть ошибки.Но смысл понятен думаю.Если что пиши в вк.Помогу когда свободен.

Таблица wf_done это список где пользователи выполнили свои задания, и если нет записи то автоматически выдавать status = 0

Такое возможно?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...