Используйте два запроса, которые вы комбинируете с UNION
.
Первый запрос получает строки с данным столбцом $ id , the second query gets the ones that match via the
number`.
SELECT *
FROM users
WHERE id = $id OR number = $id
UNION
SELECT u1.*
FROM users AS u1
JOIN users AS u2 ON u1.number = u2.number OR u1.id = u2.number
WHERE u2.id = $id or u2.number = $id
Руководство по Mono для Windows
Я не уверен, что вы сможете использовать код с использованием пространства имен Mono.Unix, но, как правило, если вы создаете кроссплатформенный код, вам не следует к.
Порт Gnome Do linux . Однако для учебного проекта я мог бы предложить начать с кода, который на самом деле является кроссплатформенным, или сейчас разрабатывать для Linux. Решение кросс-платформенных проблем и, возможно, неполного порта просто усложнит процесс обучения.
Итак, я полагаю вкратце к вашему первоначальному вопросу. Да, вы можете запустить Mono в Windows, но можно написать код для конкретной платформы, который действительно сделал выбранный вами пример приложения. Ссылка, которую я привел выше, является портом, чтобы этот код работал в Windows. Без переноса (изменения кода, специфичного для платформы) эта программа не будет компилироваться в Windows.
Да, вы можете установить моно под Windows. Есть экспериментальный установщик.
См .: http://mono-project.com/Mono:Windows
На этой странице также есть информация о библиотеках gtk.
Gdk - это кроссплатформенная библиотека для низкоуровневых оконных систем, и в коде используется .NET-привязка к Gdk. Он доступен для Windows (как часть пакета Gtk # или в установщике Mono).
Mono.Unix - это моно библиотека, предоставляющая доступ к службам Unix (syscalls, stdlib). Я не думаю, что Mono.Unix доступен для Windows, но Mono.Posix может быть доступен.