我有以下记录:
ID FIRST LAST CATEGORY
123 Tom Smith Teacher
123 Tom Smith Tutor
345 Julia Brown Banker
345 Julia Brown Tutor
567 Dan Davids Fireman
567 Dan Davids Golfer
567 Dan Davids Painter
我想要排除所有包含“Tutor'作为一种价值。 我想要的输出是这样的:
ID FIRST LAST CATEGORY
567 Dan Davids Fireman
567 Dan Davids Golfer
567 Dan Davids Painter
我该怎么做?
名称来自NAMES表,类别来自CATEGORY表。主键是ID字段。
答案 0 :(得分:0)
使用SELECT和JOIN以及WHERE子句排除' Tutor'值。 您没有足够好地描述您的架构以便我提供确切的查询,因此您可能需要更改一些命名,但这是理念:
SELECT names.id, `first`, `last`, category
FROM names JOIN category on names.category_fk = category.id
WHERE category.category != 'Tutor';
答案 1 :(得分:0)
SELECT id, first, last, category FROM names WHERE
ID NOT IN (SELECT id FROM names where category = 'Tutor')
答案 2 :(得分:0)
对表结构做一些假设看起来像这样:
SELECT
[Name].[ID]
,[Name].[first]
,[Name].[Last]
,[Category].[Category]
FROM
[Name]
INNER JOIN [Category]
ON [Category].[Category]
= [Name].[Category]
AND [Category].[Category]<>'Tutor'