Вы можете использовать условное агрегирование:
select c.id, c.first_name, c.last_name,
max(case when o.new_line = 1 then o.frosting end) as frosting_1,
max(case when o.new_line = 2 then o.frosting end) as frosting_2,
max(case when o.new_line = 3 then o.frosting end) as frosting_3
from customer c join
(select o.*,
row_number() over (partition by o.id order by o.line) as new_line
from orders o
where o.batter_code in (450, 360)
) o
on c.id = o.id
group by c.id, c.first_name, c.last_name;
Ключ повторно перечисляет «строки» перед выполнением агрегации.
Я не знаю корректный способ сделать это, но этот ручной метод является подходом, который я использовал для простых сценариев, который, кажется, формовал соответственно.
я предположу, что независимо от того, что каталог, я нахожусь в, файлы Python для моей программы, находится в родственнике src/
каталог, и что файл, который я хочу выполнить (то, которое имеет надлежащую хижину и выполняет полномочия), называют main.py
.
$ mkdir -p MyApplication.app/Contents/MacOS $ mv src/* MyApplication.app/Contents/MacOS $ cd MyApplication.app/Contents/MacOS $ mv main.py MyApplication
В этой точке у нас есть комплект приложений, который, насколько я знаю, должен работать над любой системой Mac OS с установленным Python (который я думаю, что это имеет по умолчанию). Это не имеет значка или чего-либо, которое требует добавления еще некоторых метаданных к пакету, который является ненужным в моих целях, и я не знаком с.
Для создания установщика перетаскивания довольно просто. Используйте Дисковую утилиту для создания Нового Образа диска приблизительно размера, которого Вы требуете для хранения приложения. Откройте его, скопируйте свое приложение и псевдоним /Applications
к диску, затем используйте Опции Представления расположить их, как Вы хотите.
сообщение перетаскивания является просто фоном образа диска, который можно также определить в поле зрения Опции. Я не сделал его прежде, но я предположил бы что после того, как Вы сделали на скорую руку изображение в своем предпочтительном редакторе, Вы могли скопировать его, установить его как фон и затем использовать chflags hidden
, чтобы препятствовать тому, чтобы он загромоздил Ваше хорошее окно.
я знаю, что это не самые четкие, самые простые или самые подробные инструкции там, но я надеюсь, что кто-то может найти их полезными.