Я хочу отсортировать таблицу по адресу http://sqlfiddle.com/#!2/87fa6 по jobs.datetime по возрастанию, а затем выбрать только строки, где jobs.operator_id=0
и jobs.status=open
.Сортировка таблицы MySQL, а затем обновление строк
Как только таблица имеет эту структуру, я хочу установить jobs.operator_id=bidList[i].OperatorId
, но это должно происходить только в строках, где booking.plot_id=bid.plot_id
.
Я купил его до следующих двух операторов SQL - можно ли их каким-то образом объединить, чтобы они соответствовали вышеуказанному требованию?
// Allocate jobs to bids
for (var i = 0; i < bidList.Count; i++)
{
// Select rows where booking.status=open, booking.postcode=_plot and
// booking.operator_id=0.
// Once this is done, order by datetime
query = "SELECT operator_id, plot_id, status FROM booking " +
"WHERE status='open' AND postcode='" + _plot + "' AND operator_id=0" +
"ORDER BY datetime";
// Whilst maintaining the structure above, set
// booking.operator_id=bidList[i].OperatorId,
// booking.status=allocated where BidList.PlotId = jobs.plotid
query += "UPDATE t1 SET t1.operator_id='" +
bidList[i].OperatorId + "', t1.status='Allocated' " +
"FROM booking_view T1 "+ "JOIN bid t2 ON t1.plot_id=t2.plot_id";
}
Спасибо, это будет только запустить обновление только на строки, которые отвечают требованиям по первой части запроса? – methuselah
Btw Я только что понял, это 'booking' вместо' booking_view'. – methuselah
ну, я просто исправлю запрос, не пытаюсь изменить логику обновления, поэтому, пожалуйста, скажите мне окончательные критерии для обновления, я вижу слишком много запутанной информации. –