我正在尋找在創造這種情況下正確的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