All streams
Search
Write a publication
Pull to refresh
2
0

Пользователь

Send message

WHERE тут совсем не нужен. Все можно сделать через CASE

Еще более интересная ситуация с FULL OUTER JOIN!
Если я вижу как запрос:


SELECT ... FROM A FULL OUTER JOIN B ON A.ID=B.ID AND A.FIELD=<Value>

так и запрос


SELECT ... FROM A FULL OUTER JOIN B ON A.ID=B.ID WHERE A.FIELD=<Value>

то, с вероятностью 99% они оба ошибочные и делают не то, что имел в виду автор.
Правильный паттерн для FULL OUTER JOIN обычно такой:


SELECT ... 
FROM 
    (
        SELECT * FROM A WHERE A.FIELD=<Value>
    ) A 
        FULL OUTER JOIN B ON A.ID=B.ID

На этот случай есть простое правило: после первого в цепочке LEFT JOIN могут идти только LEFT JOIN. Если это не так, то нужно группировать запросы с помощью скобок или использовать подзапросы. Мне ближе второй вариант.

зачем так писать? с целью запутать?

Я вижу Geckelberryfinn прав. Понимания как работает JOIN никакого...


SELECT… FROM A LEFT OUTER JOIN B ON A.ID=B.ID AND A.FIELD=<Value>

Так пишут, когда нужно вывести ВСЕ строки из таблицы А и только для некоторых подключить поля из таблицы B.


SELECT… FROM A LEFT OUTER JOIN B ON A.ID=B.ID WHERE A.FIELD=<Value>

А так, когда надо вывести только те строки из таблицы А в которых A.FIELD=<Value> и подключить для них поля из таблицы B.


Вот более реалистичный пример:


SELECT 
   Parts.*,
  COALESCE(Manufacturer1.comment, Manufacturer2.descr, Parts.Description) AS Description 
FROM Parts
    LEFT OUTER JOIN Manufacturer1 ON Parts.extID=Manufacturer1.num_id AND Parts.manufacturer='m1'
    LEFT OUTER JOIN Manufacturer2 ON Parts.extID=Manufacturer2.partID AND Parts.manufacturer='m2'

Запрос с WHERE выдаст ну абсолютно не то что нужно, даже если не обращать внимание на количество строк, т.к. нумерация у каждого производителя своя и может запросто пересекаться. Аналогом же будет следующий запрос:


SELECT 
   Parts.*,
   CASE Parts.manufacturer
       WHEN 'm1' THEN COALESCE(Manufacturer1.comment,Parts.Description)
       WHEN 'm2' THEN COALESCE(Manufacturer2.descr,Parts.Description)
       ELSE Parts.Description
   END AS Description 
FROM Parts
    LEFT OUTER JOIN Manufacturer1 ON Parts.extID=Manufacturer1.num_id 
    LEFT OUTER JOIN Manufacturer2 ON Parts.extID=Manufacturer2.partID 

Но, мне кажется, первый запрос проще в понимании и более оптимальный в плане производительности.

Эта фича уже давно была в гугле. Через месяц-другой была бесследно выпилена по вполне понятным причинам.

А можно спросить: а зачем сейчас нужно большое городское население?

Как можно на планшете пользоваться приложениями, если они за малым исключением, работают только в вертикальной ориентации экрана?

На андроид планшете 99% нативных приложений представляют собой убогое говнище в плане UI. Поэтому только веб морда!

"Сделайте плиз возможность нормально переключиться на английский"


Обеими руками за!
Неужели разработчикам непонятно, что если человек выбрал в выпадающих настройках валюту, страну доставки и язык интерфейса, то ему надо отдавать контент в соответствии с его предпочтениями?
Независимо от домена, блин!!!
Никакие ссылки по которым ходит пользователь не должны сбрасывать эти настройки. Только он сам!


Бесит не меньше разлогина.

Кинескоп служил лет 15

Вы шутите? На даче прекрасно работает телевизор еще GoldStar. Когда GoldStar превратился в LG предлагаю загуглить самостоятельно.

FireFox 52 ESR


Самое обидное, что все бы работало наверняка. Если бы не желание сэкономить на спичках.


А конкретнее 3 символа в catch (e)

А вы думаете он свои миллиарды планирует в могилку забрать?
Если у человека цель жизни колонизация Марса, то на это не грех и свои честно заработанные деньги тратить.


А на безбедную старость можно заначку оставить :)

Если исходить из вашей логики, то не понятно, зачем люди поперлись в Антарктиду, например? Цингу заработать и в перспективе сдохнуть с вероятностью 90%?


Видимо покорителей Антарктиды жестоко пытали на родине, раз такие перспективы их не остановили, так? Или, все же, есть и другая мотивация кроме пироженек пожрать?

А вы уверены, что имея рабочий Starship, Маск будет спрашивать соизволения от НАСА лететь на Марс или нет?


Одно дело когда НАСА нанимает SpaceX возить свои грузы и своих астронавтов на МКС. Тут заказчик волен предъявлять извозчику любые требования.


А вот если полет целиком внутрифирменное мероприятие, то непонятно каким боком тут НАСА?

А это сейчас новый тренд такой: выкатить сайт, который работает только на самой последней версии браузера, причем без всяких предупреждений?


Видимо разработчики Яндекса не верят в существование у пользователя браузера старше 3-лет. А жаль.

Цитаты, плиз, где я пишу что нарушаю или не нарушаю ПДД? С чего вы вообще взяли, что я вожу машину?


Учить других пытаетесь вы, при этом призывая нарушать ПДД:


При спокойном вождении на скорости около 100-110 усталости почти нет, после дня за рулём можно активно провести вечер.

После того, как я указал на сей прискорбный факт, последовало окончательное признание в легкомысленном отношении к ПДД:


Вы пробовали водить СТРОГО по правилам, прям чтоб по всем?

Я видел инстаграм :)
До сих пор в недоумении — как этим убогим интерфейсом можно пользоваться без риска повреждения головного мозга?


На десктопе сайт искусственно ограничен в функционале, хз почему.
Нативное андроид приложение не умеет работать в произвольной ориентации — в топку.
Подписи к картинкам скрыты, комментарии скрыты. Это недалеко ушло от 140 символов. Все нужно раскрывать, что бесит преизрядно.
Позиция просмотра в ленте не запоминается, да и показывается она неким рандомным методом.


Но, тем не менее, людям это убожество нравится. А мне, ради контента нескольких интересных людей, тоже приходится этой какой пользоваться (с перерывами в несколько месяцев для восстановления душевного здоровья, испорченного интерфейсом)

Я одного не понимаю: зачем искать группу Европейского Космического Агентства в ФБ, ВК или прочей анально огороженной клоаке, когда можно просто найти их сайт в интернете???

Зачем вы это у меня спрашиваете? Спрашивайте у тех, кто бьет себя пяткой в грудь, утверждая, что всегда соблюдает ПДД.

Information

Rating
Does not participate
Location
Витебск, Витебская обл., Беларусь
Registered
Activity