Сортировка через MySQL вроде

0

Хорошо, вот моя основная структура данных моей БД... по крайней мере, ее части, о которых мне нужно беспокоиться и работать с ними...

id       
address    
city          
state        
zipcode      (5 digit zip, looked up via usps by address)
realtor_id   (unique id for the realtor)
type_of_work     

Когда заказ помещается на веб-сайт и хочет, чтобы на нем был установлен знак, они заказывают установку, большую часть времени, адрес помещается как "1550 Libby Street", много времени, они не помещают в последняя часть, "проспект, улица, дорога, суд и т.д.", поэтому они не всегда вводятся одинаково.

Когда заказ помещается на веб-сайт и хочет, чтобы снимок был снят, они заказывают удаление, они часто не помещают адрес таким же образом, на этот раз они могут поместить адрес в "1550 Libby St".

Прямо сейчас, каждый заказ входит, является отдельной вставкой в БД.

То, что я хотел бы выяснить, как это сделать, - это когда придет заказ на установку, вставьте в БД, если удаление происходит по тому же адресу, обновите исходную вставку.

Я пытаюсь настроить его так, чтобы я мог выполнять поиск через БД и находить адреса, которые были установлены, но еще не удалены, чтобы я мог отображать их на карте. Если я могу сохранить БД так, как он есть, и иметь возможность находить адреса, которые были установлены и еще не удалены, тогда это тоже сработает. Имеет ли это смысл?

Я попытался найти ответ, который уже был отправлен, но не уверен, как сформулировать вопрос или спросить его. Извините, если он уже был опубликован.

  • 0
    Добро пожаловать. Чтобы задать вопрос по теме, пожалуйста, прочитайте контрольный список вопросов и прекрасный вопрос, а также как создать минимальный, полный и проверяемый пример и принять участие в туре.
  • 0
    Я понимаю вашу проблему, но я не совсем понимаю, в чем вы хотели бы, чтобы мы вам помогли. Исходя из текущего формата вопроса, мне кажется, что вы хотели бы, чтобы мы написали код, отображающий адреса на карте из вашей базы данных, а затем смогли бы обновить записи. Это очень широкий вопрос, так как вы не предоставили никакого кода.
Теги:

1 ответ

1

У вас, кажется, есть несколько отдельных вопросов:

Непоследовательные имена адресов

Это будет трудно решить, просто не убеждая своих клиентов правильно вводить адрес каждый раз. Предоставление им отдельных полей (адресные строки 1/2, город, штат, почтовый индекс) поможет, так как он предложит им ввести весь адрес.

Кроме того, вы можете позволить им увидеть все задания, которые они установили, а затем выбрать, какие из них нужно удалить. Если они никогда не вводят адрес дважды, то они не могут ошибиться!

Удаление после установки

Вы не должны перезаписывать запись для клиента по определенному адресу, когда они решили удалить знак. Что делать, если они отменят удаление? Что, если они хотят, чтобы там был установлен еще один знак, и теперь вы не знаете, что вы уже работали на этом сайте раньше?

Вместо этого вы должны вставлять новую строку в базу данных для каждого события.

Поиск установок, которые еще не удалены

Немного непонятно, что такое id - это однозначно идентифицирует каждую строку, или каждая работа имеет свой собственный id?

Я продолжу и предполагаю, что каждая работа имеет свой собственный id.

Поскольку MySQL не может выполнять EXCEPT, вам нужно сделать запрос WHERE NOT IN:

SELECT signs.id, signs.address FROM signs WHERE signs.type_of_work = 'INSTALLATION' AND signs.id NOT IN ( SELECT signs2.id FROM signs2 WHERE signs2.type_of_work = 'REMOVAL' )

(простите мой стиль, я больше привык к Postgres...)

Это должно выбрать идентификатор и адрес каждой рабочей шляпы, где есть работа по установке, если этот id задания не связан с работой по удалению.

  • 0
    Я понимаю непоследовательные имена адресов, я пытался заставить их использовать правильный адрес каждый раз, также добавил поиск адресов, но затем пользователи теряются и не всегда понимают, что происходит. Раньше поиск адресов был обязательным, но многие пользователи застряли и начали звонить, поэтому мне пришлось просто сделать его доступным и не обязательным. Есть отдельные строки для адреса, города, штата и т. Д. В настоящее время, когда начинается установка или удаление, каждый заказ - это новая строка в БД. Строки не удаляются и не удаляются. «id» - уникальный используемый идентификатор.
  • 0
    Да, я также думал о том, чтобы пользователи просто выбирали ранее введенные адреса для удалений, единственная проблема с этим заключается в том, что я создал базу данных после начала бизнеса, тонна списка установок и удалений находится в Google Sheets, и я придется вручную вводить всю эту информацию в БД и надеяться, что она будет отлично отслеживать.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню