2013-08-31 174 views
0
SELECT quantity, materialTypeId , 
     (SELECT typeName 
      FROM invTypes 
     WHERE TypeID IN (SELECT materialTypeId 
          FROM invTypeMaterials 
          WHERE typeId= 12743 
         ) 
     ) AS material 
FROM invTypeMaterials 
WHERE TypeID=12743 

所以這個查詢給我很好的結果,除了列的材料。僅向我顯示第一個條目而不是給出每一行的名稱。 如果我運行這些SQL單獨他們的工作,我確實看到我想要的。我只需要將它們合併爲2列。多個查詢與SQLite第二個查詢只給出第一個結果

我想要做的是,我查詢數據的一個表,列一個具有價值至極我想轉換到一個名字,那就是另一個表,並通過獨特的typeid其鏈接

寒冷

+1

那麼,是不是'MySQL'或'SQLite'? –

回答

1

可能這將工作:

SELECT tm.quantity, tm.materialTypeId , t.typeName 
     FROM invTypeMaterials tm 
INNER JOIN invTypes t ON t.TypeID = tm.materialTypeId 
    WHERE tm.TypeID=12743 
+0

謝謝你的工作。 – chilly83

0

如果你想爲當前記錄查找的materialTypeID的名字,你不能使用一個單獨的子查詢,但外部查詢使用materialTypeID值。 這就是所謂的correlated subquery

SELECT quantity, materialTypeId, 
     (SELECT typeName 
      FROM invTypes 
     WHERE TypeID = invTypeMaterials.materialTypeId 
     ) AS material 
FROM invTypeMaterials 
WHERE TypeID=12743 
+0

這工作也謝謝你們 – chilly83

相關問題