Вы можете использовать NOT EXISTS
с коррелированным подзапросом, который объединяет другие таблицы и содержит условие вашего фильтра:
select
pk.pack,
pk.packname,
pk.packv,
pk.packtype,
pk.packcost
from package pk
where not exists (
select 1
from software s
inner join pc on pc.tagnum = s.tagnum
inner join computer c on c.comp = pc.comp
where s.pack = pk.pack
and c.mfrname = 'HP'
)
order by pk.pack;
Результат
| pack | packname | packv | packtype | packcost |
|------|------------------|-------|-----------------|----------|
| AC11 | Quick Accounting | 4.1 | Accounting | 754.95 |
| AC12 | Accounting MIS | 4.0 | Accounting | 2000 |
| AC13 | Quickbook | 2005 | Accounting | 300 |
| DB11 | Manta | 1.5 | Database | 380 |
| DB13 | SQL Server | 2005 | Database | 500 |
| DB14 | My SQL | 2005 | Database | 300 |
| SS11 | Easycal | 5.5 | Spreadsheet | 225.15 |
| WP04 | Word Power | 2 | Word Processing | 118 |
| WP07 | Good Word | 3.2 | Word Processing | 35 |
| WP14 | GOOGLE | 2 | Word Processing | 118 |
[116 ] Пример SQL Fiddle
Код:: Блоки - это свободно, это является межплатформенным, это довольно хорошо. Можно загрузить пакет, состоящий из IDE CB, компилятора C++ MinGW и gdb отладчика. Установка очень проста.
Существует реализация g ++ и GDB (Отладчик Гну) для окон под названием Mingw, который работает очень хорошо. Хотя, так как я предполагаю, что Вы также ищете графический IDE / отладчик, я указал бы на Вас на Eclipse. Средства разработки C для затмения включают превосходный интерфейс в инструменты сборки Mingw и GDB. Кроме того, на Вашем комментарии о скомпилированной программе, используемой и в Windows и в *, отклоняют, это не возможно насколько я знаю.
Это зависит, что Вы подразумеваете под 'стандартом'. Вы оказываетесь перед необходимостью компилировать свой код Linux и окон так или иначе. Нет никакого способа создать и исполняемый файл, который будет работать на обоих. Просто используйте VS, чтобы скомпилировать и отладить на окнах, затем удостовериться, что он также компилирует и работает под GCC на Linux.
Я думаю, что он просто хочет, чтобы Вы использовали тот же компилятор на обоих, таким образом, Вы не должны иметь дело с различиями между компиляторами. Я думаю, что это хорошо для Вас. Написание кода, которое может скомпилировать на нескольких компиляторах, важно, потому что оно показывает Вам, какие компоненты стандарта действительно являются стандартными.
Это кажется, что Вы просите IDE (Интегрированная Среда Dev).
Eclipse мог бы быть хорош для Вас. Это поддерживается и в Windows и в Linux.
С точки зрения самих компиляторов GCC является Вашим лучшим выбором. Это - компилятор в самом чистом значении слова, хотя это не имеет собственного интерфейса к нему.
Я посмотрел бы на нахождение, что приятная атмосфера для разработки в этом могла присоединить к нему.
Отклонение от того моего персонального предпочтения в IDE прямо сейчас является затмением, но это - действительно персональная вещь.
Если Вы используете только функции стандартов C++, можно использовать Visual Studio Express C++. Ваш не обязаны использовать окна только расширение компилятора: MFC, ATL, Мастера, и т.д.
Но если Вы хотите сделать что-то портативным, затем попытка предназначаться для обоих компиляторов (GCC и VS) является действительно лучшим осуществлением так или иначе.
Также недавно Nokia выпустила нового язя multiplataform QtCreator, это - первая версия, но по крайней мере это имеет право быть взятым в соображении.
MinGW довольно хорош как @Colfax состояние. Рассмотреть использование ddd
с Cygwin, который делает использование gdb
несколько легче. Посмотрите это ТАК вопрос
Но ожидайте... разве, Qt 4.5 не выпущен как LGPL, теперь делающий что большой бесплатный инструмент? Посмотрите здесь
Как парень Linux, я думаю, что лучший опыт идет с GVIM как с редактором и Mingw как среда программирования. GCC является стандартом, но LLVM-GCC очень перспективен и идет со сборкой Mingw, готовой к употреблению в окнах.