Это сложный вопрос, поэтому, пожалуйста, несите меня. Поэтому у меня есть таблица ниже:SQL: показывать только значения в зависимости от содержимого
╔══════════╦═══════╦════════════╗
║ MasterID ║ SubID ║ Location ║
╠══════════╬═══════╬════════════╣
║ 100 ║ 50 ║ California ║
║ 100 ║ 45 ║ Texas ║
║ 100 ║ 40 ║ California ║
║ 99 ║ 29 ║ California ║
║ 99 ║ 28 ║ Texas ║
║ 99 ║ 28 ║ California ║
║ 98 ║ 15 ║ Texas ║
║ 98 ║ 15 ║ Texas ║
║ 97 ║ 5 ║ California ║
╚══════════╩═══════╩════════════╝
.
И я хочу показать каждый MasterID, SubID и местоположение, где находится Калифорния. Однако, вот улов. Я не хочу, чтобы эти вещи отображались, если в пределах каждого идентификатора MasterID у каждого SubID нет местоположения в Калифорнии.
Где MasterID = 100, я бы не хотел ничего отображаемого, потому что в этом MasterID есть Техас с его собственным SubID.
Где MasterID = 99, я бы хотел, чтобы все 3 столбца отображались, потому что, хотя есть техасский под этим MasterID, в пределах того же SubID есть Калифорния.
98 не хорошо, потому что у него есть SubIDs, которые содержат только Техас.
97 нормально, потому что это просто Калифорния.
Желаемый результат таблицы заключается в следующем:
╔══════════╦═══════╦════════════╗
║ MasterID ║ SubID ║ Location ║
╠══════════╬═══════╬════════════╣
║ 99 ║ 29 ║ California ║
║ 99 ║ 28 ║ Texas ║
║ 99 ║ 28 ║ California ║
║ 97 ║ 5 ║ California ║
╚══════════╩═══════╩════════════╝
(удаление 99 ...... 28 ..... Техас тоже хорошо)
Итак, каков ваш вопрос? Что вы уже пробовали? – BWS
Если я запустил его сейчас, например, я бы сказал «Выбрать из ... Где место LIKE« Калифорния ». Но тогда он будет показывать идентификаторы, которые я не хочу. В этом примере он будет показывать MasterID 100, SubID 50 и 40, в то же время скрывая там значение SubID 45 Texas. Если есть такой техасский SubID, я не хочу, чтобы какой-либо из этих столбцов отображался – sg4