Сортировка по типу MySQL [закрыто]

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

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».

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

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

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

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

php,mysql,

0

Ответов: 1


1

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

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

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

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

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

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

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

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

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

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

Поскольку MySQL не может сделать 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' ) запрос:

id

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

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

PHP, MySQL,
Похожие вопросы