是否有任何查询可以检索所有表中与相同id相关的表行。
如果用户输入fromzip代码为64083,并以html格式输入为94568,我需要一个sql查询来获取与要在网页中显示的那些zipcodes相关的次日,scndday和第三天行,在这种情况下,id为必须在数据库的所有表中显示相同的数字。
表1
idzipform fromzip tozip
1 64083 94568
2 94568 64083
表2
idnextday fedex usps ups day
1 50.29 90.80 60.60 Nextday
2 90.99 80.88 70.70 Nextday
表3
idscndday fedex usps ups day
1 20.29 19.80 16.60 Scndday
2 19.99 18.88 17.70 Scndday
表4
idthirdday fedex usps ups day
1 9.29 9.80 6.60 Thirdday
2 9.99 8.88 7.70 Thirdday
输出应该是这样的
fromzip tozip
64083 94568
day fedex usps ups
Nextday 50.29 90.80 60.60
Scndday 20.29 19.80 16.60
Thirdday 9.29 9.80 6.60
输出必须是具有相同ID的所有表中的第1行。
这是可能的,如果没有,请帮助我添加任何外键或主键。
答案 0 :(得分:0)
尝试使用UNION语句
SELECT f.day, f.fedex, f.usps, f.ups
FROM table2 f
INNER JOIN table1 z ON z.idzipform = f.idnextday
WHERE z.fromzip = '64083' AND z.tozip = '94568'
UNION
SELECT s.day, s.fedex, s.usps, s.ups
FROM table3 s
INNER JOIN table1 z ON z.idzipform = s.idscndday
WHERE z.fromzip = '64083' AND z.tozip = '94568'
UNION
SELECT t.day, t.fedex, t.usps, t.ups
FROM table4 t
INNER JOIN table1 z ON z.idzipform = t.idthirdday
WHERE z.fromzip = '64083' AND z.tozip = '94568'