这是我的4张桌子:
CREATE TABLE IF NOT EXISTS Personne (
id serial,
nom varchar(30),
prenom varchar(30)
)
CREATE TABLE IF NOT EXISTS Commune (
id serial,
nom varchar(30),
nbr_clients INT DEFAULT 0
)
CREATE TABLE IF NOT EXISTS Staff_admin (
id BIGINT UNSIGNED NOT NULL,
FOREIGN KEY (id) REFERENCES Personne(id)
)
CREATE TABLE IF NOT EXISTS Client (
id BIGINT UNSIGNED NOT NULL,
ref_commune BIGINT UNSIGNED NOT NULL,
ref_staff_admin BIGINT UNSIGNED NOT NULL,
FOREIGN KEY (id) REFERENCES Personne(id),
FOREIGN KEY (ref_commune) REFERENCES Commune(id),
FOREIGN KEY (ref_staff_admin) REFERENCES Staff_admin(id)
)
因此,当我选择一个客户端时,我需要:
客户名称,公社名称,Staff_admin名称。
答案 0 :(得分:-1)
您不需要只有一个字段的表来映射员工管理员角色。在表格中添加您真正需要的字段(也许是客户端?)。无论如何,您需要的联接查询可能是:
puts "how may items to add in hash?"
project = {}
i=gets.chomp.to_i
for i in 1..i
puts "add key"
key = gets.chomp
puts "add value"
value = gets.chomp.to_f.round(2)
project[key] = value
end
project.each do |key, value|
puts "#{key} \t - \t #{value}%"
end
project.values.inject(&:+)