Re: MySQL two tables and an uneven number of rows
"B. Aerts" <[email protected]> Mon, 12 Sep 2016 21:53:11 +0200
| Newsgroups | gmane.comp.php.database |
|---|---|
| Message-ID | <[email protected]> |
On 12/09/16 05:24, Karl DeSaulniers wrote: > Hello All, > Hoping you can help clear my head on this. I have two MySQL tables for custom fields data to be stored. > > custom_fields custom_fields_meta > > custom_fields is the info for the actual field displayed in the html and custom_fields_meta is the data stored from entering a value on said field in the form. > > Custom fields can be added and removed at will by the user and so when for instance, adding a field, > it currently creates an uneven number of rows in the custom_fields_meta if there were any entries with fields create prior to this new one. > > Currently I have this code: > > $SQL = "SELECT ft.*, mt.Meta_Value > FROM `CUSTOM_FIELDS` ft > LEFT JOIN `CUSTOM_FIELDS_META` mt > ON mt.Field_ID = ft.Field_ID > WHERE mt.Order_ID=%d > ORDER BY ft.Field_ID ASC"; > > I have tried JOIN, FULL JOIN, FULL OUTER JOIN, OUTER JOIN and LEFT JOIN. > If I manually put in the missing rows in the meta table, left join works. > However, manually updating prior entries is not going to happen. > > So my question is how do I get all the table rows in both tables even if there is not a row to match on the meta table? > or > How would I update the prior entries to include this new field in the meta table and keep things orderly? > The meta is stored per order id and so there is groups of meta data per order id. I would like to avoid scattered data. > Is there a way to push the index down to fit them in or is this just going to be too costly on server resources? > > TIA, > > Best, > > Karl DeSaulniers > Design Drumm > http://designdrumm.com <http://designdrumm.com/> > > > > > Hi Karl, I can't really follow your problem ... Any chance to post 2 dummy table layouts to show what you want, and what you get ? And it isn't something you could solve with a UNION ? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php