If you want the values separate then I don't see a need for a join node.
use the mqtt topic to decide if the value is a temp or humidity.
then construct the sql query accordingly.
here is a simple example. the injects simulate the mqtt in nodes.
[{"id":"5bacd77c.686808","type":"inject","z":"c74669a0.6a34f8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"sensor/temperature","payload":"23","payloadType":"num","x":140,"y":4540,"wires":[["23a6325e.79c7a6"]]},{"id":"23a6325e.79c7a6","type":"function","z":"c74669a0.6a34f8","name":"","func":"let column = msg.topic.split(\"/\")[1];\nmsg.topic = `INSERT INTO table_name (date, ${column}) VALUES (${new Date().valueOf()}, ${msg.payload});`; \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":4560,"wires":[["7372c9de.20ba08"]]},{"id":"47833c.f39edcc4","type":"inject","z":"c74669a0.6a34f8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"sensor/humidity","payload":"65","payloadType":"num","x":150,"y":4580,"wires":[["23a6325e.79c7a6"]]},{"id":"7372c9de.20ba08","type":"debug","z":"c74669a0.6a34f8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":4560,"wires":[]}]