我有一个包含80行的表(Table1),我有另一个包含20行的表(Table2)。
每个表都有一个包含相同数据的列,我试图使用此列生成一个返回table1中所有行和table2中所有行的查询,即使table2在table1中没有匹配项也是如此
到目前为止,我有:
SELECT
Table2.SeqNo,
Table2.SeqHeader,
Table2.SeqText,
Table1.UniqueID,
Table1.Room,
Table1.`Status`
FROM
Table1
Inner Join Table2 ON Table2.SeqID = Table1.SeqID
WHERE Table1.UniqueID = (a value)
我尝试了很多不同的编写此查询的方法,但我现在卡住了。
任何帮助都会很棒。
编辑:
我现在有:
SELECT
Table2.SeqNo,
Table2.SeqHeader,
Table2.SeqText,
Table1.UniqueID,
Table1.Room,
Table1.`Status`
FROM
Table1
LEFT OUTER JOIN Table2 ON Table2.SeqID = Table1.SeqID
WHERE Table1.UniqueID = (a value)
当我运行查询时,结果只会重新启动“Table1.UniqueID =(a value)”的行。我需要的是Table2中的所有行和table1中的所有行。
预期结果:
| SeqNo | SeqHeader | SeqText | UniqueID |-- Room-- |-- Status--| +---------+--------------+-------------+---------------+------------+-----------+ |- Data - |-----Data-----|----Data- |--Data---- |--- Data----|--- Data-- | |- Data - |-----Data-----|----Data- |--Data---- |--- Data----|--- Data-- | |- Data - |-----Data-----|----Data- |-No Data-- |-No Data-- |-No Data- | |- Data - |-----Data-----|----Data- |-No Data-- |-No Data-- |-No Data- | |- Data - |-----Data-----|----Data- |-No Data-- |-No Data-- |-No Data- | |- Data - |-----Data-----|----Data- |-No Data-- |-No Data-- |-No Data- |
这是我能做的最好的,因为我没有实时数据中的数据,因为我无法让查询工作。
我希望这会有所帮助。
答案 0 :(得分:1)
现在我看到了您的预期结果,看起来您的加入是相反的。尝试
SELECT
Table2.SeqNo,
Table2.SeqHeader,
Table2.SeqText,
Table1.UniqueID,
Table1.Room,
Table1.`Status`
FROM
Table2
LEFT OUTER JOIN Table1 ON Table2.SeqID = Table1.SeqID
WHERE Table2.UniqueID = (a value)