Если вы хотите избавиться от UNION
, вы можете использовать агрегированный запрос с выражением CASE
для декодирования marke
.
SELECT
CASE
WHEN a1 = 1 THEN 'Mercedes'
WHEN a2 = 1 THEN 'BMW'
WHEN a3 = 1 THEN 'Ford'
END AS marke,
COUNT(autos.id)
FROM autos
WHERE a1 = 1 OR a2 = 1 OR a3 = 1
GROUP BY a1, a2, a3
Это кажется, что Вы управляетесь одной из пары различных возможных "синдромов" (или возможно больше чем одним).
Я пострадал от всех них, и больше.. (Как классическая "потребность создать acroynm для всего синдром (NTCAAFES)" ;)
Поместите любой код, который Вы пишете в веб-сайте и делаете его открытым исходным кодом.
Позвольте другим обсудить код и сделать его лучше.
Это помогает Вам улучшить свои навыки кодирования, в то время как Вы отдаете сообществу.
Позже Вы будете поражены найти, что Ваш код поправился, чем, чем это было при отъезде его.
Я делаю это все время (хорошо, за исключением выбрасывания части). Лично, я начал делать это рано в моем программировании, учащемся (когда я был студентом); это поняло, где я исследую исходный код ядра Java и если бы мне не нравился он, то я заставил бы мой владеть/расширять им. Это перешло к сути дела, где рабочая шутка класса была то, что я собирался переосмыслить Java.
Лично, я никогда не преобладал над ним... Вместо этого я нашел новые способы использовать для моего преимущества. Например, вместо того, чтобы просто переосмыслить вещи, я нашел, что были вещи, которые я хотел, которые не были доступны больше нигде, таким образом, я сделаю их для меня. Моей первой такой проект была программа чата. Уверенный многие существовали, но это было единственным, которое мой учитель не знал о (hehe). Уверенный узнал много о сетевых протоколах через него, но после того как это было "сделано", мое первое действие должно было отправить его всем моим приятелям, и мы будем болтать, в то время как учитель читал лекции... Достаточно скоро он узнал об этом и с тех пор вынудил всех своих студентов выключить свои мониторы, в то время как он говорит, но это была забава, в то время как это продлилось.
С тех пор я продолжал придумывать свои собственные проекты, которые полезны для меня, имеют по крайней мере один аспект, который я должен буду изучить по пути, и один или несколько аспектов там того, чтобы не быть текущей программой, которая решает проблему для меня бесплатно.
Таким образом всего, я рекомендую, чтобы вместо того, чтобы пытаться переосмыслить IDE и затем выбросить Ваш код, попытайтесь найти некоторый проект или проблему, которую требуется решить самостоятельно и использовать снова. Я полагаю, что dogfooding (использующий Ваши собственные программы) является лучшим, любой программист может надеяться достигнуть.
Я думаю природа о нас, поскольку программирование разновидностей должно хотеть управлять всем. Мы - пятна полного контроля. У всех есть тонны причин не доверять чужой работе. Любой данный день в офисе может быть доказательством этого.
Однако в целом Вы будете неправы. Возможности состоят в том, что tool/library/IDE/whatever был разработан командой, которые помещают намного больше времени в к нему, чем Вы сможете. Несомненно, это имеет, это - дефекты с внешней стороны, но к тому времени, когда Вы сделаны с Вашей версией, Вы, вероятно, найдете это, Ваша имеет несколько дефектов самих по себе.
Это - просто что-то, с чем необходимо достигнуть соглашения.
В ретроспективе, это не совершенно дурная привычка. Это вынимает Вас из Вашей нормальной области программирования и дает Вам воздействие другим проблемам. В конечном счете Вы будете более универсальными для него. Если Вы продолжаете делать его с той точки зрения и смешиваете его в с реальной производительностью, я думаю, что это совершенно здорово.
Я рекомендую Вас на этом. Вы не были бы хорошим кодером, если бы Вы не были зациклены на совершенстве своих инструментов и также задались вопросом, как они были сделаны, таким образом:
но я смотрю на него как Padawan, создающий его собственный световой меч. Это должно быть сделано.
Вы выбрали красную таблетку, не сделал Вас? Кто-то должен был сказать Вам НЕ делать это.
Проблема состоит в том, что, если Вам действительно действительно нравятся компьютеры, и Вы проводите слишком большую часть своей жизни, думающей о них, Вы добираетесь до этой точки, где все случайное/иррациональное состояние разработки программного обеспечения - что произвольно сложная рабочая путаница - кажется, является явно намного более замысловатой, чем необходимый, даже если Вы не знаете то, что необходимый все же.
Существует нижняя часть все это, неправдоподобно удивительный инструмент, просто ожидая, чтобы быть освобожденной. Это время от времени дразнит Вас, скрываясь в различных программах, встроенных наряду с различными битами данных. Дразнящая функциональность, что, если только Вы могли бы найти реальный способ присоединиться ко всему этому вместе для создания одной большой очень прикольной системы, Вы могли...
Именно тот чисто математический смысл компьютеры могли на самом деле быть чем-то замечательным, если бы только они не высосали так много.
Теперь примите синюю таблетку и возвратитесь к работе...
Если Вы просто копируете свои существующие инструменты, существует мало значения. Но если имеют идею о том, как сделать ее лучше, даже всего одним способом, стоящий того.
Этот путь в конце его, у Вас будет немного лучший инструмент и Вы не просто выбросите его.
Я пошел, хотя подобная фаза с инструментами, но затем я стал более интересующимся другими темами как графика и игры.
Я только пишу инструменты, когда это собирается сэкономить мне время (или, конечно, достигните больше в то же время).
Существует много достаточно кода приложения, который будет записан, не желая записать инструменты также.
Если Вы делаете его в свое свободное время, то каждый к его собственному, я предполагаю, но я нахожу, что потребность делать деньги из кода, который я пишу виду фокусов мой ум на том, что важно.
Мы программисты являемся наркоманами потока. Мы наслаждаемся психическими состояниями, связанными с решением проблем и продвижением к решению. Иногда, когда проекты на работе увязают - по ряду причин - его привлечение обратиться к параллельным проектам как способ получить фиксацию поток.
Это не обязательно плохо, пока Вы увеличиваете резкость своих инструментов или изучаете что-то, и это не занимает время далеко от других обязанностей (работа или реляционный).
Я думаю, что это - вероятно, хорошая вещь, если она не мешает добиванию цели.
Но не зажимайте его, даже если это - мусор, выложите его в Интернет где-нибудь, и когда кто-то еще пытается сделать то же самое, они видят Ваш и по крайней мере стараются не делать те же ошибки.
Я иногда испытывал его. Например, при подготовке документов HTML к публикации, я чувствовал себя вынужденным записать мой собственный инструмент, чтобы сделать это просто способ, которым я хочу. Естественно хотеть сделать мир лучше. Если Вы чувствуете, что убеждение - я предлагаю, чтобы Вы пошли для него.
Это также кажется, что Вы могли бы быть действительно неудовлетворены другой работой, которую Вы делаете. Я нахожу, что, когда я не наслаждаюсь своим заданием, я склонен находить, что что-либо еще делает и буду особенно зафиксирован на вещах, которые я могу извинить как не являющийся играми, чтобы убить время, потому что они, на поверхности, продуктивной. Вещи как код возвращения и чистки, который был действительно единовременным специальным, переписывая то, что уже работает, и создание моих собственных "улучшений" на инструментах. Если бы я прав, это имеет смысл, что Вы затем бросили бы его/обходить далеко/находка что-то еще потому что, если Вы только делаете это, чтобы не делать другую работу.