我正在寻找在创造这种情况下正确的SQL一些帮助......帮助与SQL查询
两个表型号和序列号简化
Model
-----
CODE | MAKE | MODEL
Serials
-------
CODE (FK) | SERIAL
我要检索的代码,请与SERIAL其中MAKE =“某个值” 我只希望不同码虽然...
我正在寻找在创造这种情况下正确的SQL一些帮助......帮助与SQL查询
两个表型号和序列号简化
Model
-----
CODE | MAKE | MODEL
Serials
-------
CODE (FK) | SERIAL
我要检索的代码,请与SERIAL其中MAKE =“某个值” 我只希望不同码虽然...
select distinct code, make, model from model inner join code on model.code = serials.code where model = 'some value';
不知道如果这是你的意思,但你尝试过:
SELECT DISTINCT code, make, serial
FROM model, serials
WHERE model.code = serials.code
AND make = 'some value'
select distinct Model.Code
from Model JOIN Serials on Model.Code = Serials.Code
where make = 'some value' and Serials.Serial not null
其他答案阅读后评论编辑。
假设代码是PRIMARY KEY
(否则,你不能让一个FK
你所提到的):
SELECT code, make,
(
SELECT serial
FROM serials
WHERE serials.code = model.code
LIMIT 1
)
FROM model
WHERE MAKE = 'some value'
这是MySQL
语法。
您需要定义在有几个连续字符串并将ORDER BY
子句添加到子查询中时要显示哪个串行。
如果你有这样的数据:
code make model
123 SOME VALUE Ford Sierra
code serial
123 1
123 2
,你要显示串行1
或2
为什么?
我会试试这个。无关紧要返回什么序列号我只需要检查每个代码的序列号的最后几位数 – db83 2009-09-22 13:47:13
你的表似乎被设置的方式会有多个序列中的每行代码行,不是吗?如果是这样,没有办法获得单个代码的连续代码,而没有为该代码获取多个行。这是你的意思,只有获得不同的代码?如果是这样,你不能这样做......但其他...
try this:
Select Code, Make, Serial
From Model M
Join Serials S
On M.code = S.code
Where Make = 'some value'
对于具有不同SERIALS的相同CODE号,有很多条目。我只是希望所有不同的代码像一个样本SERIAL我不关心什么是SERIAL返回 – db83 2009-09-22 13:45:52
你正在使用哪个数据库? – Quassnoi 2009-09-22 13:50:17