我有三个表1和2是基本表,第3表与1和2有关。我试图只显示表3中的一些记录,但是我希望基本表中的值与查询结果一起显示。
我试图使用内部连接(在此之前),但是只有来自t3 WHERE条件的SELECT x,y的结果;->正确显示了这个结果,但是我的内部连接行似乎被忽略了-没有错误,连接
SELECT komputery.nazwa, komputery.id FROM komputery
INNER JOIN system_op ON komputery.system_op = system_op.id
INNER JOIN sl_org ON komputery.lokalizacja = sl_org.id
WHERE system_op IN (SELECT id FROM system_op WHERE nazwa='Windows 7' AND architektura='x64')
OR lokalizacja IN (SELECT id FROM sl_org WHERE nazwa='IT');没有错误。实战:只选择x,y从显示条件的T3中选择:显示值来自在T3中与之相关的表,例如,如果我只从T3中选择Windows 7 x64 PC --我还希望在t3的结果旁边显示windows 7 x64 (这是在基本表中)。
发布于 2019-05-22 14:55:57
好的,我找到了问题所在。在SELECT之后,我没有从我要加入的表中选择任何列。因此,没有显示值:
SELECT komputery.nazwa, komputery.id, system_op.nazwa as system_operacyjny, system_op.architektura, sl_org.nazwa as lokalizacja FROM komputery
INNER JOIN system_op
ON komputery.system_op = system_op.id
INNER JOIN sl_org
ON komputery.lokalizacja = sl_org.id
WHERE system_op IN (SELECT id FROM system_op WHERE nazwa='Windows 7' AND architektura='x64')
OR lokalizacja IN (SELECT id FROM sl_org WHERE nazwa='IT');这段代码正常工作。
https://stackoverflow.com/questions/56257599
复制相似问题